0

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

在此处输入图像描述

在此示例中,数量为 30,我想按照以下逻辑对其进行着色:

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

编辑: 参数是数据集的一部分

4

1 回答 1

0

CountDistinct您应该能够根据需要在ColorBackgroundColor表达式中使用适当的范围。就像是:

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

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

在这个表达式中,Red当 Scope 中有多个不同的参数时,突出显示,否则Green

评论后编辑

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

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

我在Switch这里使用了 a 来更容易添加未来的值。

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

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

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

于 2013-09-20T09:53:01.447 回答