嵌套If语句SSRS表达式

时间:2019-03-14 14:41:47

标签: if-statement reporting-services expression ssrs-2012

建立报告并根据一些变量更改颜色。如果是休学期,则将颜色设置为“ Gainsboro”。如果出勤率小于0.4且不为空,则将颜色设置为“#ffc7ce”

我对为什么此代码无法运行感到很困惑,这似乎很简单。

=IIF(fields!Break_Semester <> "Break Semester"
    ,IIF(len(Fields!Attendance.Value) <> 0 and Fields!Attendance.Value < 0.4 
        ,"#ffc7ce"
    ,"Gainsboro")
,"Gainsboro")

此代码在运行时有效:

=IIF(len(Fields!Attendance.Value) <> 0 and Fields!Attendance.Value < 0.4 
    ,"#ffc7ce"
,"Gainsboro")

所以我不确定为什么嵌套会将其拧紧。

有指针吗?

1 个答案:

答案 0 :(得分:2)

我相信您只是误认了Break_Semester字段。确保大写Fields部分,然后需要添加.Value。所以应该是

=IIF(Fields!Break_Semester.Value <> "Break Semester"
,IIF(len(Fields!Attendance.Value) <> 0 and Fields!Attendance.Value < 0.4 
    ,"#ffc7ce"
    ,"Gainsboro")
,"Gainsboro")

也可以在条件语句的周围加上括号,但这只是个人喜好,可以保持环境整洁。