SSRS - 使用条件格式(背景)

时间:2017-06-19 07:29:09

标签: reporting-services ssrs-2008

我是Stackoverflow的新手,我对使用SSRS和报表生成器相当陌生。我试图根据2个不同单元格中的值更改背景颜色,但它似乎不起作用。我已经尝试使用带有嵌套的Switch语句的Iif语句,但这似乎不起作用。我也试过只使用一个SWITCH语句,但这只是给了我没有颜色的字段。

我想要实现的是,如果"挖掘"列是" EX01",它必须遵循一组不同的规则。我尝试过的方法:

=SWITCH(
    Fields![excav].value = "ex01" and Fields!tons.Value < 500 , "Red",
    Fields![excav].value = "ex01" and Fields!tons.Value >= 500 and Fields!tons.Value < 1000, "Yellow",
    Fields![excav].value = "ex01" and Fields!tons.Value >= 1000, "Green",
    Fields!tons.Value < 1840, "Red", 
    Fields!tons.Value  >= 1840 and Fields!tons.Value < 2300 , "yellow", 
    Fields!tons.Value >= 2300, "Green")

Result 在这种情况下,它完全忽略了&#34; ex01&#34;

的条件
=Iif(SWITCH(
        Fields!excav.value = "ex01" and Fields!tons.Value < 500 , "Red",
        Fields!excav.value = "ex01" and Fields!tons.Value >= 500 and Fields!tons.Value < 1000, "Yellow",
        Fields!excav.value = "ex01" and Fields!tons.Value >= 1000, "Green"),
        SWITCH(
        Fields!tons.Value < 1840, "Red", 
        Fields!tons.Value  >= 1840 and Fields!tons.Value < 2300 , "yellow", 
        Fields!tons.Value >= 2300, "Green"),"No Color")

Result 在这种情况下,它忽略了所有条件,并直接进入&#34; No Color&#34;条件。

非常感谢任何协助。

1 个答案:

答案 0 :(得分:0)

可行的是它与case有关,这意味着字符串ex01与EX01不同。

所以你必须将表达式更改为Fields!excav.value = "EX01"或使用像LCase这样的函数使值小写然后进行比较

LCase(Fields!excav.value) = "ex01"

我已经添加了示例图片,以告诉您如果您按照我的建议进行操作,那就可以了。

enter image description here

在上面的表格中我使用你的表达式,而在下面的表格中我使用了LCase函数

=SWITCH(
    Lcase(Fields![excav].value) = "ex01" and Fields!tons.Value < 500 , "Red",
    Lcase(Fields![excav].value)  = "ex01" and Fields!tons.Value >= 500 and Fields!tons.Value < 1000, "Yellow",
    Lcase(Fields![excav].value)  = "ex01" and Fields!tons.Value >= 1000, "Green",
    Fields!tons.Value < 1840, "Red", 
    Fields!tons.Value  >= 1840 and Fields!tons.Value < 2300 , "yellow", 
    Fields!tons.Value >= 2300, "Green")