【问题标题】:SSRS aggregate data for days and for month within the same tableSSRS 在同一个表中聚合天数和月数数据
【发布时间】:2018-07-19 06:26:42
【问题描述】:

假设以下数据集: - 产品 - 日期 - 生产单位

我怎样才能实现以下故事:

产品 |本日生产单位总和 |本月生产单位的总和

我不想要分组记录,所以如果数据集中有 10 个产品,我想全部显示。

例如: 输入数据集:

+--------+-------------+---------------+
|Product | date        | produced unit |
+--------+-------------+---------------+
| M&Ms   | 2018-02-08  |       5       |
+--------+-------------+---------------+
| M&Ms   | 2018-02-08  |       2       |
+--------+-------------+---------------+
| M&Ms   | 2018-02-28  |       3       |
+--------+-------------+---------------+
| Kit Kat| 2018-02-08  |       10      |
+--------+-------------+---------------+
| Kit Kat| 2018-02-28  |       10      |
+--------+-------------+---------------+

Today is 2018-02-08
Output:
+--------+-------------------------------+---------------------------------+
|Product | sum of Produced Unit this day | sum of produced Unit this Month |
+--------+-------------------------------+---------------------------------+
| M&Ms   |             7                 |                10               |
+--------+-------------------------------+---------------------------------+
| M&Ms   |             7                 |                10               |
+--------+-------------------------------+---------------------------------+
| M&Ms   |             7                 |                10               |
+--------+-------------------------------+---------------------------------+
|Kit Kat |            10                 |                20               |
+--------+-------------------------------+---------------------------------+
|Kit Kat |            10                 |                20               |
+--------+-------------------------------+---------------------------------+

【问题讨论】:

  • 列标题是一个好的开始,但我更喜欢一些数据与它们一起为示例添加内容。
  • 您是否尝试过按产品分组(每个产品只有一行)以及日/月,然后对单位求和?
  • 我不想分组,因为我将有更多的属性作为记录,但我每次都需要给定的信息。
  • 您仍然是一个行组,即使该组是按日期以外的所有内容分组的,那么您将需要一个按日期分组的列组,应该就是这样。
  • 我会在存储过程中这样做

标签: reporting-services dataset report tabular


【解决方案1】:
  1. 向您的数据集添加一个计算字段,以获取生产日期的月份。在这个例子中,我使用了=Month(Fields!Date.Value),但是如果你跨年,你可能需要使用每个月的第一天作为你的共同值。

  2. 添加计算字段以获取今天产生的数字。例如: =IIf(Fields!Date.Value = "2/8/2018", Fields!Produced.Value, Nothing)

  3. 创建一个新表。将“详细信息”组更改为按月份分组。添加按产品分组的父行组。

  4. “今天生产单位的总和”的表达式如下: =Sum(Fields!Produced_Today.Value)

  5. “本月生产单位的总和”的表达式如下: =Sum(Fields!Produced.Value)

  6. 以下是结果示例:

说明:该表首先按产品分组,然后按月份分组。如果您不想显示月份和日期列,则可以隐藏它们。今天生产的数量正在数据集级别进行过滤。本月产生的数量在月份组的范围内进行汇总。

显然,这是一个简单的示例,但您可以采用此处显示的原则来考虑更多变量,例如数据集中的多个月份。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-06
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    相关资源
    最近更新 更多