嵌套If语句SSRS表达式

问题描述 投票:2回答:1

根据一些变量构建报告并更改颜色。如果是休息学期,那么制作颜色“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")

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

有什么指针吗?

if-statement reporting-services expression ssrs-2012
1个回答
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")

也可以很好地在条件语句周围添加括号,但这只是个人偏好以保持清洁。

© www.soinside.com 2019 - 2024. All rights reserved.