【发布时间】:2015-02-02 12:27:35
【问题描述】:
我有这个条件格式表达式(用于背景颜色),效果很好:
=SWITCH(
Fields!Fire_Safety.Value = "F", "LimeGreen",
Fields!Fire_Safety.Value = "i", "Red",
Fields!Fire_Safety.Value = "E", "Yellow",
TRUE,Nothing
)
我现在已经更改了数据表(通过 SQL),因此“F”所在的位置现在有了日期。
我将 Switch 表达式(在 SSRS 中)更改为:
=SWITCH(
Fields!Fire_Safety.Value <= dateadd("d",90,Today()),"Orange",
Fields!Fire_Safety.Value >= dateadd("d",91,Today()),"LimeGreen",
Fields!Fire_Safety.Value = "i", "Red",
Fields!Fire_Safety.Value = "E", "Yellow",
TRUE,Nothing
)
它失败了。日期字段似乎有效,但“i”和“E”无效。
我猜它一定是语法,但我有点迷茫......有什么想法吗?
【问题讨论】:
-
检查你的输出(CTRL+ALT+O),是否返回任何错误信息?
-
考虑到您将
Fields!First_Aid.Value与dateadd("d",90,Today())进行比较,那么我假设First_Aid是一个日期,在这种情况下您无法将其与"i"或"e"进行比较。我怀疑您想在您的第 3 和第 4 个条件下将Fire_Safety与"i"和"e"进行比较。 -
@mmix 是的,我收到此错误“从字符串“i”到类型“日期”的转换无效”。所以我猜这意味着 Switch 可以做文本或日期,但不能两者兼而有之?
标签: sql-server reporting-services switch-statement ssrs-2008-r2 conditional-formatting