0

我有以下表达。

=Fields!AvgLOSC4.Value.Split("|"c)(0)

有时,它会返回#Error而不是值。如果上面的表达式导致错误,如何返回0而不是显示#Error

4

2 回答 2

1

SplitIIf检查将不起作用,因为 SSRS 不会在这些上短路,如果任何部分失败,则整个表达式错误。

您可以使用自定义代码解决此问题。将以下代码添加到您的报告中:

Function FirstSplit(fieldValue As String) As String
  If IsDBNull(fieldValue) OrElse IsNothing(fieldValue) Then
    FirstSplit = "0"
  Else
    FirstSplit = fieldValue.Split("|")(0)
  End If
End Function

调用单元格中的代码:

=Code.FirstSplit(Fields!AvgLOSC4.Value)

使用由以下人员生成的数据集:

select AvgLOSC4 = '1|2'
union all select AvgLOSC4 = '1'
union all select AvgLOSC4 = null

您可以生成如下报告:

在此处输入图像描述

于 2013-04-04T16:57:35.360 回答
0

检查字段是否NULL在拆分值之前

=Iif(IsNothing(Fields!AvgLOSC4.Value),"Display NULL",
                                      Fields!AvgLOSC4.Value.Split("|"c)(0))
于 2013-04-04T14:55:45.160 回答