使用条件格式时图例中显示错误的颜色

Wrong colors showing in Legend when using Conditional Formatting

我使用 MS Report Services 2016 图表控件和系列填充颜色表达式:

=iif(Fields!Date.Value = Last(Fields!Date.Value, "dataset"), "red", "green")

所以所有的条都是绿色的,除了最后一个 - 它是红色的。图例还显示了这个系列,填充颜色为绿色。

一切正常,除了我只有一个条形图的情况,这显然也是最后一个 - 在这种情况下,图例标记变为红色。

有没有办法让图例永远是绿色的?

测试你有多少个系列。如果只有 1 个系列,则适当设置颜色。

您可以通过计算在您的系列分组的字段中有多少不同的值来测试系列的数量...

=COUNTDISTINCT(Fields!MySeriesGroupField.Value, "Mydatasetname")

所以你的最终表达可能看起来像这样。

=IIF(
    Fields!Date.Value = Last(Fields!Date.Value, "dataset") 
        AND COUNTDISTINCT(Fields!MySeriesGroupField.Value, "Mydatasetname")>1
    , "red", "green"
    )