对 SSRS 中的一列表达式求和总和

问题描述

我在 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

enter image description here

enter image description here

***** 更新 *****

您可以使用基于总数的表达式,例如您提到的帖子的答案。

=SUM(Sum(Fields!one.Value,"group1") / Sum(Fields!one.Value,"group1"))

您需要为表达式设置正确的作用域