SSRS中两列求和生成第三列结果异常,求正确实现方法
SSRS两列总和计算错误的解决方法
问题根源
你当前的表达式存在三个关键错误:
- 仅对
in.column1使用了Sum()聚合,ou.column2(你误写成in.column2)未做聚合,导致只取了单条记录的值而非整个数据集的总和 - 字段名引用错误,目标字段是
ou.column2而非in.column2 - 数据集作用域的括号位置错误,每个聚合函数需要单独指定数据集作用域
正确表达式示例
1. 整个数据集的总计总和
如果要计算new_dataset中两列所有行的数值总和,使用以下表达式:
=Sum(Fields!in_column1.Value, "new_dataset") + Sum(Fields!ou_column2.Value, "new_dataset")
注:如果你的字段名确实包含点号(如查询中用了表别名+字段名),需用方括号包裹字段名,比如Fields!["in.column1"].Value
2. 明细行每行的两列数值相加
如果是要在每行计算当前行的in.column1和ou.column2的和,不需要使用Sum(),直接用:
=Fields!in_column1.Value + Fields!ou_column2.Value
额外排查点
- 确认两个字段的数据类型:如果是文本类型,需先转换为数值类型再计算,比如:
=Sum(CDbl(Fields!in_column1.Value), "new_dataset") + Sum(CDbl(Fields!ou_column2.Value), "new_dataset") - 检查作用域是否匹配:如果是在分组内计算组级别的总和,需把数据集名替换为对应的组名(比如
"Group1")
内容的提问来源于stack exchange,提问作者Wickawicka
相关产品推荐
相关产品推荐

