首页 > 解决方案 > 如何在组级列上正确设置 SUM AGGREGATE

问题描述

我有一份 SSRS 报告,我正在尝试对其中一列求和。

在此处输入图像描述

第一列是 countdistinct(field1) 并且运行良好。

第二列与第一列在同一组中。当第一列展开时,第二列是第一组的一部分。

我试图在组总数中获得 24 的值。如果我执行[SUM(CDEC(FIELD2.value))]它会导致72因为技术上 12 在所有六个记录中重复。

[SUM(MAX(FIELD2.value))]结果 a 12,因为该MAX()函数给出了所有记录的最大值。

我怎么得到24,在这里?

谢谢

更新#1。这是这些列的字段设置 在此处输入图像描述

在此处输入图像描述

有人提到在我的 sum() 中使用范围。如何确定我的范围是什么?谢谢!

标签: reporting-servicesssrs-tablix

解决方案


您必须在 tablix 的 sum 表达式中添加范围,否则它总是需要数据集数据。假设您有一个数据集(Dataset1),其中包含字段SalesOrderSalesPrice。如果您现在按SalesOrder ( GroupingBySalesOrder ) 在 tablix 中分组,您可以为聚合函数添加不同的范围:

=Sum(Fields!SalesPrice.Value) 'This takes the Default scope "Dataset1"
=Sum(Fields!SalesPrice.Value, "Dataset1") 'The same result like above
=Sum(Fields!SalesPrice.Value, "GroupingBySalesOrder") 'The scope is now your grouping. Different result like the other two

推荐阅读