如何在组级列上正确设置 SUM AGGREGATE
How to properly set a SUM AGGREGATE on a group-level column
我有一份 SSRS 报告,我正在尝试对其中一列求和。
第一列是一个 countdistinct(field1) 并且工作得很好。
第二列与第一列在同一组。当第一列展开时,第二列是第一列的一部分。
我试图在组总计中获取此处的值 24。
如果我执行 [SUM(CDEC(FIELD2.value))]
它会导致 72
因为从技术上讲 12 在所有六个记录中重复。
[SUM(MAX(FIELD2.value))]
结果是 12
,因为 MAX()
函数给出了所有记录的最大值。
在这里,我如何获得 24?
谢谢
更新#1。
这是这些列的字段设置
有人提到在我的 sum() 中使用范围。我如何确定我的范围是什么?谢谢!
您必须在 tablix 的求和表达式中添加范围,否则它始终采用数据集数据。假设您有一个数据集 (Dataset1),其中包含字段 SalesOrder、SalesPrice。如果您现在在 tablix 中按 SalesOrder (GroupingBySalesOrder) 分组,您可以为聚合函数添加不同的范围:
=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
我有一份 SSRS 报告,我正在尝试对其中一列求和。
第一列是一个 countdistinct(field1) 并且工作得很好。
第二列与第一列在同一组。当第一列展开时,第二列是第一列的一部分。
我试图在组总计中获取此处的值 24。
如果我执行 [SUM(CDEC(FIELD2.value))]
它会导致 72
因为从技术上讲 12 在所有六个记录中重复。
[SUM(MAX(FIELD2.value))]
结果是 12
,因为 MAX()
函数给出了所有记录的最大值。
在这里,我如何获得 24?
谢谢
更新#1。
这是这些列的字段设置
有人提到在我的 sum() 中使用范围。我如何确定我的范围是什么?谢谢!
您必须在 tablix 的求和表达式中添加范围,否则它始终采用数据集数据。假设您有一个数据集 (Dataset1),其中包含字段 SalesOrder、SalesPrice。如果您现在在 tablix 中按 SalesOrder (GroupingBySalesOrder) 分组,您可以为聚合函数添加不同的范围:
=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