嵌套 If 语句 SSRS 表达式

Nested If Statements SSRS Expression

根据一些变量构建报告并更改颜色。如果是休息学期,则将颜色设置为 "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")

所以我不确定为什么嵌套搞砸了。

有什么指点吗?

我相信您只是错误地识别了 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")

也可以在条件语句周围添加括号,但这只是个人偏好,目的是让内容更简洁。