按分组的 ReportItems 总和

ReportItems Sums by Grouping

我有这样的数据 Original Data

我打算像这样创建输出 Output

我已经用这样的借记表达式制作了 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 的那些债务和贷方列?

我会在 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

然后在报告中我添加了一个矩阵,其中包含来自 Group1Group2 的行组。

我使用以下表达式添加了一个列分组。

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

我更改了列组排序以使用与顺序相同的表达式 Z to A

最后,我也将列header表达式设置为相同的表达式。

然后我将总计添加到 Group1 行组。

最终输出如下所示。

首先使用以下查询修改您的数据集:

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

然后使用以下表达式将标记为 "text" 的计算字段添加到您的数据集中:

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

接下来创建一个矩阵,第 1 组和第 2 组是相邻的行组,文本字段是您的列组。将 amount 字段拖到列组中,此字段不需要聚合,因为它已由您的 SQL 查询聚合。此列组的标题标签将是文本字段。