在报表服务中嵌套IIF

时间:2014-04-09 09:25:39

标签: reporting-services

我将以下表达式作为我的BG颜色运行 = IIF(RowNumber(Nothing)MOD 2 = 1,“#FCDFFF”,“透明”)

但是有一些列标识了其他格式。例如,我想根据条件为特定行着色,但知道我已经在所有行上运行了上述表达式,我该如何实现?

1 个答案:

答案 0 :(得分:2)

如果您需要各种检查,最简单的方法是使用Switch表达式。

我根据您的情况设置了一个简单的测试:

enter image description here

enter image description here

enter image description here

现在说我想保持交替的颜色,但也要将超过100的任何值突出显示为红色。

将BackgroundColor属性表达式更改为:

=Switch(Fields!Value.Value > 100, "Red"
    , RowNumber(Nothing) MOD 2 =1, "#FCDFFF"
    , True, Nothing)

这样,您保持交替颜色,但第一次检查优先:

enter image description here

您可以根据需要向Switch添加更多测试。

另请注意,我在表达式中将"Transparent"更改为Nothing - "Transparent"实际上会有效但会发出运行时警告:

  

[rsInvalidColor]的BackgroundColor属性的值   文本框'Value'是“透明”,这不是有效的   BACKGROUNDCOLOR。

使用Nothing可以提供所需的结果,而不会发出任何警告。