Reporting services 将SSRS中的#Error或NAN替换为-(连字符)
当我在文本框中输入一个值(比如“NAN”或“#Err”)时,我想用-(连字符)替换它。 如何在SSRS报告中实现这一点Reporting services 将SSRS中的#Error或NAN替换为-(连字符),reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,当我在文本框中输入一个值(比如“NAN”或“#Err”)时,我想用-(连字符)替换它。 如何在SSRS报告中实现这一点 提前感谢。您需要编写一个表达式来处理它。理想情况下,您的报表中应该有一些自定义代码函数(即code.SafeDivision()) 那么: =IIF(Fields!yourcolumnname.Value = 0, "-", Fields!yourcolumnname.Value*1) 或者,如果您想要得到NAN/#ERROR的零,那么您可以使用: =IIF(Fields!y
提前感谢。您需要编写一个表达式来处理它。理想情况下,您的报表中应该有一些自定义代码函数(即code.SafeDivision()) 那么:
=IIF(Fields!yourcolumnname.Value = 0, "-", Fields!yourcolumnname.Value*1)
或者,如果您想要得到NAN/#ERROR
的零,那么您可以使用:
=IIF(Fields!yourcolumnname.Value = 0, Fields!yourcolumnname.Value*1, Fields!yourcolumnname.Value)
要详细说明cmotley的答案,请将以下代码作为自定义代码添加到报告中(要执行此操作,请转到报告属性,然后编写代码,然后将其粘贴到报告中): 使用我们的函数划分两个文本框 要显示破折号,只需将文本框的格式更改为“number”,并勾选表示要将“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
完全同意这一点-添加了一个扩展的答案,扩展了OP的内容
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)
Function evalutator(value as String) as String
Select Case value
Case "NaN"
Return "-"
Case "NAN"
Return "-"
End Select
Return value
End Function