Условное форматирование/цвета в спарклайнах в SSRS

Я просмотрел несколько веб-сайтов, которые все предлагают перейти в «Данные диаграммы»> «Значения», а затем щелкнуть правой кнопкой мыши, чтобы изменить формулу атрибута «Цвет заливки» на формулу, которая определяет, как я хочу, чтобы цветовая схема выглядела, но я уже пробовал это , и я не получаю обратно то, что я ожидал.

Мои данные (например, Fields!DailySalesGoalPassFail.Value) агрегируются в Sparkline по Avg и классифицируются по EntryDate. Если выбрано одно местоположение, каждое из значений Pass/Fail будет либо «1», либо «0» для любой заданной EntryDate, но если выбрано несколько местоположений, я хочу, чтобы Pass/Fail мог вернуть что-то в между (например, ".5", если 1 из 2 магазинов в группе проходит).

Кроме того, я хочу иметь возможность окрашивать узлы Sparkline в зеленый цвет, если он = 1, красный, если = 0, и желтый, если он находится где-то посередине, но каждый раз, когда я пытаюсь написать оператор Switch для обработки этого, и начальное значение равно 0, то вся линия становится красной, даже если значение позже поднимается выше 0.

=Switch(
        Fields!DailySalesGoalPassFail.Value = 1, "Green",
        Fields!DailySalesGoalPassFail.Value = 0, "Red",
        true, "Yellow"
        )

Что я делаю не так?


person Don Ford    schedule 20.11.2018    source источник


Ответы (1)


Я думаю, что ваше Switch() зависит от неправильного Field. Потому что ваш Fields!DailySalesGoalPassFail.Value, как вы сказали, агрегирован по Avg и, скорее всего, является числом. Если ваш Fields!DailySalesGoalPassFail.Value имеет, например, значения от 1 до 100, эта окраска будет работать в выражении заполнения:

=Switch(Fields!DailySalesGoalPassFail.Value < 50, "Green", 
        Fields!DailySalesGoalPassFail.Value > 50, "Red")

Я думаю, что вы действительно хотите, чтобы ваш спарклайн зависел от значения «пройдено/не пройдено». В этом случае вы можете написать следующее в выражении заполнения (я не уверен, откуда берется ваше значение «пройдено/не пройдено». Теперь я предполагаю, что это параметр):

=Switch(Parameters!PassFail.Value = 1, "Green",
        Parameters!PassFail.Value = 0, "Red",
        Parameters!PassFail.Value < 1 And Parameters!PassFail.Value > 0, "Yellow")
person Strawberryshrub    schedule 21.11.2018
comment
Я переключил его на использование агрегата Avg, а не Field.Value, и это сделало это. Спасибо, что подарили мне вторую пару глаз. - person Don Ford; 21.11.2018