问题描述
我在 Report Builder 上需要这个:
我的表中的详细信息行包含一个带有表达式的列:
=sum(Fields!one.Value) / sum(Fields!two.Value) 我想对那一列求和,但我得到的结果不是比率的总和,而是总和的比率。
例如:
sum(Fields!one.Value) sum(Fields!two.Value) ratio
3 6 0.5
3 6 0.5
6 12 0.5
最后一行是总数。
我希望右下角的值是它上面的值的总和(即 1.0),而不是它左边的值的比率。我试过计算总和:
sum( sum(Fields!one.Value) / sum(Fields!two.Value) )。我需要的答案是 1 (0.5 + 0.5)。但这给出了 0.5
有人有什么想法吗?
我复制并粘贴了同样的问题:Summing a column of expressions in SSRS 因为我有同样的情况,他们的想法不起作用
解决方法
您可以使用自定义代码来计算总比率
Add the following custom code to your report
Public Dim ratio_total
Public Function CalculateRatio ( ratio As Double) As Double
ratio_total = ratio_total + ratio
Return ratio
End Function
该函数获取当前比率值,更新总数并返回比率值
现在在您的详细信息中将比率表达式设置为某种想法
=Code.CalculateRatio(Sum(Fields!one.Value) / Sum(Fields!two.Value))
在您的总比率上,将表达式设置为 = Code.ratio_total
***** 更新 *****
您可以使用基于总数的表达式,例如您提到的帖子的答案。
=SUM(Sum(Fields!one.Value,"group1") / Sum(Fields!one.Value,"group1"))
您需要为表达式设置正确的作用域