我的报告如下图所示:每行是一个位置,列是日期,qty是SUM。
在这个示例中,QTY将为30,我想按照逻辑对其进行着色:
如果所有参数都相同且等于某个值,则应用颜色 如果所有参数都不相同,则应用颜色。
修改 param是Dataset的一部分
答案 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定义一次,并在报告中的多个位置使用它。