Gar*_*ius 8 sql-server expression sum reporting-services ssrs-2008
我表中的详细行包含一个带有表达式的列:
= sum(Fields!one.Value)/ sum(Fields!two.Value)
我想总结那一列,但我得到的结果不是比率的总和,而是总和的比率.例如:
=sum(Fields!one.Value) / sum(Fields!two.Value)
Run Code Online (Sandbox Code Playgroud)
我希望右下角的值是它上面的值的总和(即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是其所在的组).然后,在total row的比例列中,我只是复制了来自runningValue文本框的值.换句话说,表达式为:
= ReportItems!Textbox55.Value
因此,运行总和在表中是不可见的,但我使用总行中的最终值.
我只花了3天时间搞清楚.呼!
更新:
我向同事展示了问题和"解决方案",他有一个更优雅的解决方案:
在比率总计框中,使用以下表达式:
= sum(sum(Fields!one.Value,"table1_grp")/ sum(Fields!two.Value,"table1_grp"))
基本上,将范围添加到内部总和就可以了.