SSRS 2012:不同价值观的总和

时间:2017-05-23 20:15:48

标签: sql-server reporting-services ssrs-2012

我能找到关于这个问题的所有类似问题要么是针对SSRS 2005(有限制而且之前无法解决),没有答案,要么答案链接到外部网站而不是得到实际答案。无论哪种方式,这是我的问题:

报告有一个行组,它为每行生成不同的编号。我试图将所有这些数字相加,并在底部的总排中显示它们。因此,我试图在组外使用=Sum(Fields!contract_amt.Value)来总结所有字段。但是,当我将该表达式用于总计行时,它会将数据集中的所有行相加并生成一个非常大的数字,因为数据集中的许多行都是重复的。

如何制作表达式只会将字段中的不同值相加? (例如,只有不同的行)

1 个答案:

答案 0 :(得分:2)

首先,您需要标记要求和的行。您可以使用数据集上的计算字段或查询中的字段执行此操作。我喜欢在SQL中使用ROW_NUMBER函数。

然后你可以像这样做一个条件聚合:

=Sum(IIf(Fields!DISTINCT_FLAG.Value = 1, Fields!contract_amt.Value, Nothing))