SSRS动态背景颜色基于动态列中的数据

时间:2013-02-19 22:57:26

标签: reporting-services colors expression

我有一个包含两列的报告。这两列被命名为“本月”或“上个月”。我正在尝试将“背景颜色”添加到“本月”中与“上个月”中的数据相关的数据单元格。

我熟悉使用IIF语句的动态颜色编码,但似乎无法弄清楚这一点。

下面,我试图使用带有LOOKUP命令的IIF,但我不确定我是否正确使用此命令。任何帮助将不胜感激。

=IIF(LOOKUP(Fields!Type.Value = "This Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS") < LOOKUP(
Fields!Type.Value = "Last Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS"), "LightGreen", 

IIF(LOOKUP(Fields!Type.Value = "This Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS") = LOOKUP(
Fields!Type.Value = "Last Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS"), "Yellow", 

IIF(LOOKUP(Fields!Type.Value = "This Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS") > LOOKUP(
Fields!Type.Value = "Last Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS"), "Orange", "Transparent")))

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,我相信你需要做一些事情:

  1. lookup个功能更改为lookupset个功能;
  2. 仅用field = "Month"替换"Month",因为这样只会导致布尔值而不是被查找的月份;和
  3. 将它们包裹在sum个函数中。
  4. 我强烈建议你回到sql并重新创建它以生成2个单独的字段,一个用于This Month,另一个用于Last Month,那么你可以删除{{1完全没有功能。

    如果这不起作用,建议你调整feed sql以获得每个月值的颜色,因为你可以使用window子句。

    此外,您可以在ssrs中尝试lookup功能。帮助理解的好资源是here

答案 1 :(得分:0)

我最终在SQL中进行了所有计算,并在我的数据集中添加了一个变体列。在SSRS中,我配置了我的颜色代码以相应地读取变体列和颜色代码。我使用CASE来设置变体列数据。

= IIF(Fields!Variation.Value = 2,“LightGreen”,IIF(Fields!Variation.Value = 3,“Transparent”,IIF(Fields!Variation.Value = 1,“Orange”,“Transparent”) ))