合并 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 组件我构建了这个:
试试吧,希望对你有帮助。
在 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 组件我构建了这个:
试试吧,希望对你有帮助。