提问人:mkelley 提问时间:11/15/2023 最后编辑:mkelley 更新时间:11/16/2023 访问量:31
如何在SSRS中编写一个表达式,以平均分组表中的计算总和值?
How to write an expression that averages a calculated sum value in a grouped table in SSRS?
问:
我在 SSRS 中有这个分组表。我想获得每个业主的平均护理计划费用。我希望这个平均值是他们所有个人客户每月成本的平均值。我无法找出正确的表达式来执行此操作。
我试过了,但它没有填充正确的值。=Avg((Sum(Fields!Avg_Monthly_Cost.Value)),"Owner_Name")
这是我所指的表格的屏幕截图: 突出显示的表达式是我需要帮助的内容。我希望它能将每个所有者下每个客户的“客户服务平均每月成本总和”值相加。
我想让所有显示在每个所有者下的平均值填充到所有者姓名旁边。这就是我被困住的地方。[Sum(Avg_Monthly_Cost)]
答:
1赞
Alan Schofield
11/16/2023
#1
您的问题有点不清楚,您说“我希望它对每个所有者下每个客户的”客户服务平均每月成本总和“值求和,但您的表达式试图对值求和?
如果要聚合在子行组中计算的值,则需要引用子组,而不是表达式所在的组。
因此,如果你想要这些灰色的平均值,那么你可以做类似的事情SUM
=Avg((Sum(Fields!Avg_Monthly_Cost.Value,"FullName")))
由于表达式位于行组中,因此它只会“看到”作用域中的这些值(子行组数据)。"Owner_Name"
如果这没有帮助,请编辑您的问题并显示相关行组和您尝试聚合的表达式。
评论
0赞
mkelley
11/16/2023
我试过了,但出现了这个错误:文本框的值表达式有一个范围参数,该参数对聚合函数无效。scope 参数必须设置为一个字符串常量,该常量等于包含组的名称、包含数据区域的名称或数据集的名称。
0赞
Alan Schofield
11/16/2023
抱歉,我找错了地方,我编辑了表达式。)
0赞
mkelley
11/16/2023
现在它说 [rsComplierErrorInExpression] 文本运行的值表达式包含预期的错误:[BC30198]')'。
0赞
Alan Schofield
11/16/2023
我又更新了,这次我测试过了(以前累了只是凭记忆做!!基本上,内部表达式需要与您尝试求和的事物相同,但添加了范围。范围必须是您尝试求和的表达式已经所在的范围(从图像中看起来像“FullName”)
0赞
mkelley
11/21/2023
谢谢你,效果很好!我还发现这也有效。=(Avg((Sum(Fields!Avg_Monthly_Cost.Value)),"Owner_Name"))/(CountDistinct(Fields!Client_ID.Value))
评论