当我在文本框中输入一个值(比如“NAN”或“#Err”)时,我想用-(连字符)替换它。如何在 SSRS 报告中实现这一点?
提前致谢。
您需要编写一个表达式来处理它。理想情况下,您的报告中应该有一些自定义代码功能(即 Code.SafeDivision())
=iif(Fields!denominator.Value = 0, "-", Numerator / Denominator)
要详细说明 cmotley 的答案,请将以下代码作为自定义代码添加到您的报告中(为此,请转到报告属性,然后编码,然后将其粘贴):
Function SafeDivide(value1 As Decimal, value2 As Decimal) As Decimal
If (value1 <> 0.0 And value2 <> 0.0) Then
Return value1 / value2
Else
Return 0
End If
End Function
然后你可以在你的文本框中使用它来划分而不收到数字和/或错误,例如,添加以下作为表达式(根据需要更改文本框名称):
=Code.SafeDivide(ReportItems!Textbox186.Value, ReportItems!Textbox184.Value)
使用我们的函数划分两个文本框。
要显示破折号,您只需将文本框的格式更改为“数字”,然后勾选表示您想将“0”替换为“-”的框。
或者,如果由于某种原因“NaN”是从数据源显式通过(在 SharePoint 中引用加载的表时很少但并非不可能),您可以使用以下内容:
Function evalutator(value as String) as String
Select Case value
Case "NaN"
Return "-"
Case "NAN"
Return "-"
End Select
Return value
End Function
关于什么:
=IIF(Fields!yourcolumnname.Value = 0, "-", Fields!yourcolumnname.Value*1)
或者,如果您想要零,NAN/#ERROR
那么您可以使用:
=IIF(Fields!yourcolumnname.Value = 0, Fields!yourcolumnname.Value*1, Fields!yourcolumnname.Value)