【问题标题】:Nested If Statements SSRS Expression嵌套 If 语句 SSRS 表达式
【发布时间】:2019-03-14 14:41:46
【问题描述】:

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

    我相信您只是误认了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")
    

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

    【讨论】:

    • 谢谢!我觉得我回到了高中,愚蠢的问题。我最终不需要嵌套 IF,只使用了=IIF(len(Fields!Attendance.Value) &lt;&gt; 0 and Fields!Attendance.Value &lt; 0.4 and Fields!Break_Semester.Value &lt;&gt; "Break Semester" ,"#ffc7ce" ,"Gainsboro")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    相关资源
    最近更新 更多