1

当我在文本框中输入一个值(比如“NAN”或“#Err”)时,我想用-(连字符)替换它。如何在 SSRS 报告中实现这一点?

提前致谢。

4

3 回答 3

2

您需要编写一个表达式来处理它。理想情况下,您的报告中应该有一些自定义代码功能(即 Code.SafeDivision())

=iif(Fields!denominator.Value = 0, "-", Numerator / Denominator)
于 2012-09-20T21:17:13.247 回答
2

要详细说明 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
于 2012-09-28T01:55:18.770 回答
-2

关于什么:

=IIF(Fields!yourcolumnname.Value = 0, "-", Fields!yourcolumnname.Value*1)

或者,如果您想要零,NAN/#ERROR那么您可以使用:

=IIF(Fields!yourcolumnname.Value = 0, Fields!yourcolumnname.Value*1, Fields!yourcolumnname.Value)
于 2012-09-21T09:20:41.083 回答