如何在SSRS中对各分组内特定行的值求和?
SSRS总计行求和公式修正方案
问题原因
你之前的公式=IIf(Fields!Sort.Value="Total",sum(Fields!Current.Value),0)逻辑有误:总计行处于组级汇总上下文,此时Fields!Sort.Value并非单个具体的"Total"值,外层的IIf条件永远不成立,因此返回0。
正确公式写法
将判断逻辑嵌套到Sum函数内部,让SSRS遍历组内每一行,仅对Sort值为"Total"的行累加Current字段:
=Sum(IIf(Fields!Sort.Value="Total", Fields!Current.Value, 0))
进阶:指定分组作用域(可选)
如果报表存在多层分组,为确保仅对当前负责人分组内的数据求和,可在Sum中指定分组作用域(替换为你实际的负责人分组名称):
=Sum(IIf(Fields!Sort.Value="Total", Fields!Current.Value, 0), "负责人分组")
注意事项
- 确认
Sort字段的取值与公式中的"Total"完全匹配(注意大小写、空格、特殊字符); - 若
Current字段存在NULL值,可添加IsNothing判断避免求和异常:=Sum(IIf(Fields!Sort.Value="Total" And Not IsNothing(Fields!Current.Value), Fields!Current.Value, 0))
内容的提问来源于stack exchange,提问作者Marc L
相关产品推荐
相关产品推荐

