Я бы выполнил часть этой работы в 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
Наконец, я также установил выражение заголовка столбца на то же выражение.
Затем я добавил итог в группу строк Group1.
Конечный результат выглядит следующим образом.