ReportItems按分组汇总

时间:2020-03-04 15:18:01

标签: reporting-services ssrs-2008 ssrs-2012 ssrs-tablix

我有这样的数据 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的债务和贷方列?

2 个答案:

答案 0 :(得分:0)

我会在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的相同表达式

最后,我还将列标题表达式设置为相同的表达式。

enter image description here

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

最终输出看起来像这样。

enter image description here

答案 1 :(得分:0)

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

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查询已经将其汇总。该列组的标题标签将是文本字段。