我的报告如下图所示:每一行是一个位置,列是日期,数量是一个 SUM。
在此示例中,数量为 30,我想按照以下逻辑对其进行着色:
如果所有参数都相同且等于某个值,则应用颜色。
如果所有参数都不相同,则应用颜色。
编辑: 参数是数据集的一部分
我的报告如下图所示:每一行是一个位置,列是日期,数量是一个 SUM。
在此示例中,数量为 30,我想按照以下逻辑对其进行着色:
如果所有参数都相同且等于某个值,则应用颜色。
如果所有参数都不相同,则应用颜色。
编辑: 参数是数据集的一部分
CountDistinct
您应该能够根据需要在Color或BackgroundColor表达式中使用适当的范围。就像是:
=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 定义一次,并在报告中的多个位置使用它。