合并 SSRS 中的行并只对一些值求和

Combining rows in SSRS and only sum some values

在 SSRS BI 2012 中,我做了如下所示的报告。当作业被中断时,例如在周末,报告中会出现另一行具有相同版本号的行。在下面的示例中,它是版本 3。

如果特定 orderNo 的版本号相同,是否可以合并这些行,然后对 Netto 和 ActualTime 而不是 Bruto 和 PlannedTime 求和?

OrderNo    Ver Netto   Bruto   PlannedTime ActualTime
123456     1    1000    1050    01:50       01:45
           2    1000    1050    01:50       01:45
           3    500     1050    01:50       00:30
           3    500     1050    01:50       00:45

是的,您需要做的是根据版本号设置一个组。然后对于 Netto 的列,ActualTime 而不是普通列将它们设置为函数。对于 Bruto 和 Planned Time 的 Sum Function SUM(...) 函数,我假设您没有求和,因为它们是相同的?在那种情况下,只需将函数设置为取第一个值。

关于您的问题:

Is there a way to merge the lines if the version number of a specific orderNo is the same and then sum Netto and ActualTime and not Bruto and PlannedTime?

我认为如果您使用表达式和范围列总数自定义文本框是可能的。检查 this

如果您根据需要从数据源中获取数据,会更容易。 假设 Bruto 和 PlannedTime 列对于特定版本将保持相同,并且您有一个像这样的 table:

您可以使用数据集中的以下查询:

select OrderNo,Ver,Sum(Netto) as Netto
,Max(Bruto) as Bruto, Max(PlannedTime) as PlannedTime,
DATEADD(ms, SUM(DATEDIFF(ms, '00:00:00.000', ActualTime)), '00:00:00.000') as ActualTime
from Interruption
group by OrderNo, Ver

您可以从此数据集中使用 table 组件。将您的时间列格式化为您的要求。

使用 table 组件我构建了这个:

试试吧,希望对你有帮助。