0

我想检查 SSRS 报告中的值以确保它不为空,首先,然后它等于特定值。我的表达如下:

=iif(IsNothing(First(Fields!RecordStatusFlagId.Value, "DataSource")),"",(First(Fields!RecordStatusFlagId.Value, "DataSource") = 1,"","DELETED"))

因此,如果RecordStatusFlagID.Value不为空且不等于 1,则写入“已删除”。否则写“”。

但是,这给了我错误:

错误 75 [rsCompilerErrorInExpression] textrun 'textbox21.Paragraphs[0].TextRuns[0]' 的值表达式包含错误:预期为 [BC30198] ')'。C:\Reports\MyReport.rdl 0 0

这是没有意义的,因为我已经验证了我所有的括号都是闭合和匹配的。

甚至可以使用表达式作为IsNothing运算符中的第二项吗?

4

2 回答 2

0

我认为您可以将其简化为单个 iif() 语句:

=iif(
    First(Fields!RecordStatusFlagId.Value, "DataSource") <> 1 
    And First(Fields!RecordStatusFlagId.Value, "DataSource") Is Not Nothing
    , "DELETED"
    , ""
   )
于 2013-06-05T19:42:04.740 回答
0

我需要在表达式iif的第二部分添加一个IsNothing

=iif(IsNothing(First(Fields!RecordStatusFlagId.Value, "DataSource")),"",iif(First(Fields!RecordStatusFlagId.Value, "DataSource") = 1,"","DELETED"))
于 2013-06-05T17:44:13.047 回答