Отчет SSRS с использованием табликса и группировки - PullRequest
0 голосов
/ 22 января 2019

Я работал над отчетом SSRS, который имеет следующую структуру:

SSRS Template

Раздел «Фактические значения» - это группа строк, которая используется для агрегирования. Раздел «Проблема» - это группа деталей.

В самом отчете показаны фактические и ожидаемые значения, и, если они отличаются, соответствующие значения в разделе «Фактические значения» должны быть окрашены в красный цвет (Значение1, Значение2 и т. Д.).

Я реализовал отчет SSRS, используя этот шаблон, но я изо всех сил пытаюсь покрасить поврежденные ячейки.

Для экземпляра, для первой агрегированной строки в разделе «Фактические значения» - Value3 = 4 также присутствует в разделе «Проблема», поэтому я бы хотел заполнить ячейку Value3 в разделе «Фактические значения» красным цветом. Нечто подобное, которое, очевидно, не сработает:

=IIF(Fields!Value3.Value = Fields!Actual Values.Value, "Tomato", "Transparent")

Я пытался использовать Lookup, но он работает только для первого совпадения и охватывает только первую агрегированную строку:

=IIF(Value3 = Lookup("Value3",Fields!BreakName.Value,Fields!AccountEntityId Values.Value,"DataSet"), "Tomato", "Transparent")

В основном мне нужно пройтись по каждой записи в разделе «Проблема» для каждой строки в разделе «Фактические значения», сравнить значения и изменить цвет заливки на красный, если есть совпадение.

Не могли бы вы предложить, если есть способ достичь этого?

1 Ответ

0 голосов
/ 22 января 2019

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

Я предполагаю, что раздел «Проблема» является подробным разделом (не сгруппированным) и что «Фактические значения»Секция 'слева сгруппирована, и имя группы myRowGroup.

Следующее предположение для этого ответа состоит в том, что' 4 'в последнем столбце имеет простое выражение =Fields!myActualValue.Value.Если это сумма или что-то еще, вам нужно соответствующим образом изменить приведенное ниже выражение.

Наконец, я предположил, что выражение для '4' в 3-м столбце равно =SUM(Fields!myActualValue.Value)

Не видя дизайн, трудно дать точный ответ, но выражение должно выглядеть примерно так.

=IIF(Fields!myActualValue.Value = SUM(Fields!myActualValue.Value, "myRowGroup"), "Tomato", Nothing)

Это в основном говорит: «проверьте myActualValue в текущем контексте (строка сведений) и сравните его ссумма myActualValue в контексте текущей группы строк.

Если это не помогает, опубликуйте свой дизайн отчета с указанными группами строк и результатами используемого набора данных.

...