Форматирование незаполненных ячеек в матрице SSRS - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть матрица в службах отчетов SQL Server, которая, в общем, делает то, что ей нужно.Однако я пытаюсь отформатировать цвет фона для всей строки в зависимости от значения, сгруппированного по столбцу.Моя проблема в том, что ни одна из ячеек, у которых нет значения, не получает цвет фона.Итак, мои исходные данные:

Raw Data

Это будет отображаться в моей матрице как:

Data in a matrix

В каждой строкеЗатем я поставил фоновый формат:

=IIf(Fields!Highlight.Value="1", "Yellow", "White")

Это, к сожалению, имеет конечный результат:

Formatted Matrix

Я предполагаю, что мог бы просто вернуть другойстрока в моем наборе записей Mark с условием Y и NULL или пустой строкой и значением Highlight 1, но это потребует некоторых усилий.Есть ли способ получить сгруппированное по Highlight значение для всей строки?

Ответы [ 3 ]

0 голосов
/ 19 февраля 2019

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

=IIf(Fields!Highlight.Value="1" 
OR (Previous(Fields!Highlight.Value)="1" AND IsNothing(Fields!Highlight.Value)), "Yellow", "White")

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

...AND Previous(Fields!User.Value) = Fields!User.Value

В любом случае выПолучите идею, я уверен, что вы можете адаптировать ее под свои нужды.

0 голосов
/ 19 февраля 2019

В итоге я просто добавил переменную в свою группу строк с именем Row_Highlight и просто установил ее равной Fields! Highlight.Value.Я мог бы также установить его в MAX (Fields! Highlight.Value), если бы значение Highlight варьировалось в пределах пользователя.Тогда моим форматным выражением стало IIf ( Переменные! Row_Highlight .Value = "1", "Желтый", "Белый").

0 голосов
/ 19 февраля 2019

Я предполагаю, что либо ваш столбец Highlight имеет одинаковое значение для каждого значения User с тем же значением (т. Е. Mark всегда имеет значение Highlight 1), либо если любые строк имеют значение Highlight 1, при котором User всегда должен быть выделен.

Если какой-либо из этих сценариев имеет место, вы сможете изменить свою строкувыделите выражение =IIf(max(Fields!Highlight.Value, "YourRowGroupName") = 1, "Yellow", "White"), чтобы затронуть всю сгруппированную строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...