【问题标题】:Need to Add / Subtract Group totals for Income Statement需要为损益表添加/减去组总计
【发布时间】:2021-07-01 13:30:11
【问题描述】:

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

例如,有一组帐户名称为 Sales,下一组是 Returns and 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)

【问题讨论】:

    标签: reporting-services ssrs-2008-r2


    【解决方案1】:

    如果不了解您的数据是什么样子,很难给出准确的答案,但我会通过向您的数据集添加一个额外的组来让生活更轻松。您可以在数据集查询中轻松做到这一点。

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

    这是示例数据脚本。

    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
    

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

    报告设计是一个简单的表格,将总计添加到三个组中。这些组位于 OuterGroup、AmountType 和默认详细信息组上。我给每一个加了一个总数。

    这是设计

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

    表达式是

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

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

    这给出了以下结果

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-20
      • 1970-01-01
      • 2013-09-09
      • 2014-12-22
      • 1970-01-01
      相关资源
      最近更新 更多