需要为损益表添加/减去集团总计

Need to Add / Subtract Group totals for Income Statement

我在 SSRS 中设计了损益表。它有两个行组,科目类型和科目表中的科目构成明细。我遇到的问题是我需要加减一些组总数。

例如,有一组帐户名为 Sales,下一组是 Returns 和 Allowances,下一组是 COGS。我需要插入一行,对 Sales 和 Returns 以及 Allowances 组求和。然后我需要在 COGS 组之后插入一行,从 Sales 和 Returns 和 Allowances 总计中减去 COGS 总计。

例如:

Sales
  Acct 1
  Acct 2
Sales Total

Returns and Allowances
  Acct 3
  Acct 4
Returns and Allowances Total

Net Sales = Sales Total + Returns and Allowances Total

COGS
  Acct 5
  Acct 6
COGS Total

Gross Revenue = Net Sales - COGS  (or Sales Total + Returns and Allowances Total - COGS Total)

在不了解您的数据的情况下,很难给出准确的答案,但我会通过向您的数据集添加一个额外的组来让生活更轻松。您可以在数据集查询中轻松执行此操作。

我创建了一些带有附加外部分组列的示例数据。为了简单起见,我还添加了一个排序列,但您可以按照最适合自己的方式对其进行排序。

这是示例数据脚本。

DECLARE @t TABLE(OuterGroup varchar(20), AmountType varchar(20), Account varchar(20), Amount decimal(10,4), SortOrder int)

INSERT INTO @t VALUES 
('Net Sales', 'Sales', 'Account 1', 10.1, 1),
('Net Sales', 'Sales', 'Account 2', 15.5, 2),
('Net Sales', 'Returns & Allowances', 'Account 3', 2.6, 3),
('Net Sales', 'Returns & Allowances', 'Account 4', 3.7, 4),
('COGS', 'COGS', 'Account 5', 1.1, 5),
('COGS', 'COGS', 'Account 6', 1.2, 6)

SELECT * FROM @t

我直接在数据集查询中使用了这个。如您所见,'outer gorup' 将允许我们在报告中对此进行分组。

报告设计很简单 table,三个组中的每一个都添加了总计。这些组在 OuterGroup、AmountType 上,然后是默认详细信息组。我给每一个加了总和。

这是设计

除了对总字幕表达式添加一些测试外,我唯一编辑的是最终的 Gross Rev. 表达式

表达式是

=Sum(Fields!Amount.Value * IIF(Fields!AmountType.Value="COGS", -1, 1))

我们实际上在这里所做的只是将 所有 的金额相加,但首先将 COGS 金额乘以 -1 以使它们为负数。

这给出了以下结果

如果您移动了总收入,则可以删除第一列(而不是组!)。显然下一栏的标题...