SSRS SUM颜色基于附加参数

时间:2013-09-20 09:12:41

标签: reporting-services ssrs-2008

我的报告如下图所示:每行是一个位置,列是日期,qty是SUM。

enter image description here

在这个示例中,QTY将为30,我想按照逻辑对其进行着色:

如果所有参数都相同且等于某个值,则应用颜色 如果所有参数都不相同,则应用颜色。

修改 param是Dataset的一部分

1 个答案:

答案 0 :(得分:0)

您应该可以根据需要在颜色 BackgroundColor 表达式中使用适当范围的CountDistinct。类似的东西:

=IIf(CountDistinct(Fields!param.Value, "MyGroup") > 1, "Red", "Green")

MyGroup是您想要查看的范围;您可能希望将其更改为DataSet的Scope或其他任何内容。我根据你的数据假设了小组。

在此表达式中,当范围中有多个不同的参数时,突出显示将为Red,否则为Green

在评论后修改

如果要将某些参数项组合在一起,可以使用计算字段在DataSet定义中将它们组合在一起,然后根据需要在报告中使用它。计算字段,我们称之为paramColour,可能如下所示:

=Switch(Fields!param.Value = "AA" or Fields!param.Value = "BB", "Orange"
  , Fields!param.Value = "CC", "Green"
  , true, "Red")

我在这里使用Switch可以更轻松地添加未来的值。

然后您可以直接使用它来设置属性,即将 BackgroundColor 设置为此值,或者只修改上面的表达式:

=IIf(CountDistinct(Fields!paramColour.Value, "MyGroup") > 1, "Red", "Green")

有一个计算字段很好,因为您可以为DataSet定义一次,并在报告中的多个位置使用它。