Неправильные цвета отображаются в легенде при использовании условного форматирования

Я использую элемент управления диаграммой MS Report Services 2016 с выражением для цвета заполнения серии:

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

Таким образом, все столбцы зеленые, кроме последнего - он красный. Легенда также показывает эту серию с зеленым цветом заливки.

Все в порядке, за исключением случая, когда у меня есть только один столбец, который, очевидно, тоже последний - в этом случае маркер легенды становится красным.

Есть ли способ сделать легенду всегда зеленой?

1 ответ

Решение

Проверьте, сколько серий у вас есть. Если только 1 серия, то установите цвет соответствующим образом.

Вы можете проверить количество рядов, посчитав, сколько разных значений у вас есть в поле, по которому ваши ряды группируются следующим образом...

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

Таким образом, ваше окончательное выражение может выглядеть примерно так.

=IIF(
    Fields!Date.Value = Last(Fields!Date.Value, "dataset") 
        AND COUNTDISTINCT(Fields!MySeriesGroupField.Value, "Mydatasetname")>1
    , "red", "green"
    )
Другие вопросы по тегам