Суммы отчета по элементам по группам - PullRequest
0 голосов
/ 04 марта 2020

У меня есть данные, подобные этим Исходные данные

, и я намереваюсь создать вывод, подобный этому Вывод

Я сделал SSRS с выражением для дебета, как это

=IIF(SUM(Fields!Amount.Value)>0,SUM(Fields!Amount.Value),0)

и в кредит, как это

=IIF(SUM(Fields!Amount.Value)<0,SUM(Fields!Amount.Value),0)

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

=SUM(ReportItems!DebitColumn.Value) =SUM(ReportItems!CreditColumn.Value)

, в результате ошибка. Есть ли выражение или что-то для суммирования этих столбцов дебетов и кредитов на группу A?

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

Сначала измените ваш набор данных, используя следующий запрос:

SELECT        [Group 1], [Group 2], SUM(Amount) AS Amount
FROM            Table_3
GROUP BY [Group 1], [Group 2]

Затем добавьте вычисляемое поле, помеченное как "текст", в ваш набор данных, используя следующее выражение:

=IIF(Fields!Amount.Value > 0 , "Debit","Credit")

Следующее создание матрица, в которой группа 1 и группа 2 являются смежными группами строк, а текстовое поле - вашей группой столбцов. Перетащите поле суммы в группу столбцов, это поле не требует агрегирования, поскольку оно уже агрегировано вашим запросом SQL. Метка заголовка для этой группы столбцов будет текстовым полем.

0 голосов
/ 04 марта 2020

Я бы выполнил часть этой работы в SQL, это сделает отчет простым.

Я начал с воссоздания образца данных и агрегирования следующим образом ...

DECLARE @t TABLE (Group1 char(1), Group2 int, Amount float)
INSERT INTO @t VALUES
('A', 1, 1000),('A', 1, -500),('A', 1, -250),('A', 1, -500),
('A', 1, 100),('A', 2, 200),('A', 2, -500),('A', 2, -200),
('A', 2, 400),('A', 2, 200),('A', 3, -50),('A', 3, 0)

SELECT Group1, Group2, SUM(Amount) AS Amount
FROM @t
    GROUP BY Group1, Group2

Затем в отчете я добавил матрицу с группами строк из Group1 и Group2.

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

=IIF(Fields!Amount.Value >0, "Debit", "Credit")

Я изменил столбец групповая сортировка для использования одного и того же выражения с порядком Z to A

Наконец, я также установил выражение заголовка столбца на то же выражение.

enter image description here

Затем я добавил итог в группу строк Group1.

Конечный результат выглядит следующим образом.

enter image description here

...