在SSRS中对一列表达式求和

时间:2011-04-20 13:14:53

标签: sql-server reporting-services ssrs-2008 expression sum

我表格中的详细信息行包含一个带有表达式的列:

=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 
total:        6                     12                0.5

我希望右下角的值是它上面的值的总和(即1.0),而不是它左边的值的比率。我已经尝试将总和计算为:

sum( sum(Fields!one.Value) / sum(Fields!two.Value) )

但这也给出了0.5答案。

有人有什么想法吗?


[我不会让我在24小时内发布自己的答案,所以这里是:]

好的,我找到了办法。我在比率列的右侧添加了另一列,并将其可见性设置为“不可见”。在详细信息行中,我添加了以下表达式:

=runningValue( sum(Fields!one.Value) / sum(Fields!two.Value), Sum, "table1_grp")

table1_grp是其中的组)。然后,在总行的比例列中,我刚刚复制了runningValue文本框中的值。换句话说,那里的表达是:

=ReportItems!Textbox55.Value  

因此,运行总和在表中是不可见的,但我使用总行中的最终值。

我花了3天的时间来搞清楚。呼!


更新:

我向同事展示了问题和“解决方案”,他有一个更优雅的解决方案:

在比率总计框中,使用以下表达式:

=sum( sum(Fields!one.Value, "table1_grp") / sum(Fields!two.Value, "table1_grp") )  

基本上,将范围添加到内部总和就可以了。

1 个答案:

答案 0 :(得分:0)

尝试总和((Fields!one.Value / Fields!two.Value))。