我想检查SSRS报告中的值,以确保它首先不是null,然后它等于特定值。我的表达如下:
=iif(IsNothing(First(Fields!RecordStatusFlagId.Value, "DataSource")),"",(First(Fields!RecordStatusFlagId.Value, "DataSource") = 1,"","DELETED"))
因此,如果RecordStatusFlagID.Value
不为空且不等于1,则写入“DELETED”。否则写下“”。
然而,这给了我错误:
错误75 [rsCompilerErrorInExpression] textrun'formbox21.Paragraphs [0] .TextRuns [0]'的Value表达式包含错误:[BC30198]')'预期。 C:\ Reports \ MyReport.rdl 0 0
这是没有意义的,因为我已经确认我的所有括号都已关闭并匹配。
甚至可以将表达式用作IsNothing
运算符中的第二项吗?
答案 0 :(得分:0)
我需要在iif
表达式
IsNothing
=iif(IsNothing(First(Fields!RecordStatusFlagId.Value, "DataSource")),"",iif(First(Fields!RecordStatusFlagId.Value, "DataSource") = 1,"","DELETED"))
答案 1 :(得分:0)
我认为您可以将其简化为单个iif()语句:
=iif(
First(Fields!RecordStatusFlagId.Value, "DataSource") <> 1
And First(Fields!RecordStatusFlagId.Value, "DataSource") Is Not Nothing
, "DELETED"
, ""
)