在SSRS中对一列表达式求和

问题描述 投票:7回答:2

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

=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") )  

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

sql-server reporting-services ssrs-2008 expression sum
2个回答
0
投票

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


0
投票

您还可以在数据集中添加计算字段以创建比率。直接在字段中添加此数据字段而不是表达式。然后,您可以通过右键单击并选择添加总计来使其合计

右键单击您的数据集,选择添加计算字段,将其命名为比例,在此处添加表达式。然后,比率将是您可以作为实际字段而不是表达式添加到表中的选择,然后您可以将其加总。希望这是有道理的。

© www.soinside.com 2019 - 2024. All rights reserved.