我有一个SSRS报告,看起来像这样(包括其他列,例如销售),行按地区和位置分组。
位置的目标是每个位置的最大值,因为在我的查询中,目标显示在我正在汇总的每个销售记录上。
=Max(Fields!goal.Value)
区域的目标是该区域组中每个位置的最大值之和。
=Sum(max(Fields!goal.Value, "LocationName"), "region")
前两个没有问题,但是我很难获得报告的总计,这将是每个地区总数的总和。
=Sum(Fields!goal.Value, "region")
我无法引用区域组,因为总数超出了该组 - “对于聚合函数无效的范围参数”。在这种情况下,如何获得每个区域的总和(7,000)?
答案 0 :(得分:8)
在总文本框,区域和总计中,您可以使用相同的表达式:
=Sum(max(Fields!goal.Value, "LocationName"))
因为表达式是在文本框的当前范围中计算的,所以在区域组级别,这将聚合所有<{1}}目标值<该区域中的em> LocationName 组,在总计级别,这将聚合所有中所有 LocationName 组中的Max
目标值区域。
您可以看到这一点。使用如下数据:
(如果最终总数是正确的话,我已经将行增加了一倍)
和一个简单的表格:
相同的表达式在 Region 和 Grand Total 范围中提供了正确的结果:
答案 1 :(得分:0)
你试过= Max(Fields!goal.Value)?如果您需要未展开的总计,这应该工作。这是关于Adding Grouping and Totals的一篇很棒的MSDN文章。以下是从article获取的图像,其中显示了如何设置它。
渲染: