对 SSRS 中的一列表达式求和

发布于 2024-11-02 18:53:35 字数 1275 浏览 2 评论 0原文

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

=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

有人有什么想法吗?


我的解决方案:

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

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

table1_grp 在内部组中)。

我从总计行的比率列中的 runningValue 文本框中复制了值。

表达式为:

=ReportItems!Textbox55.Value  

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


更新:

我的同事想出了一个优雅的解决方案。

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

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

将范围添加到内部总和中即可达到目的。

The detail row in my table contains a column with an expression:

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

I want to sum that column, but the results I get are not the sum of the ratios, but the ratio of the sums.

For example:

     sum(Fields!one.Value)  sum(Fields!two.Value)    ratio
              3                      6                0.5 
              3                      6                0.5 
total:        6                     12                0.5

I want the bottom right corner value to be the sum of the values above it (i.e. 1.0), not the ratio of the values to the left of it. I've tried calculating the sum as:

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

but that gives the 0.5.

Anyone have any ideas?


My Solution:

I added another column to the right of the ratio column and set its visibility to "not visible". In the detail row, I added this expression:

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

(table1_grp is in internal group).

I copied the value from the runningValue textbox in the ratio column in the total row.

The expression is:

=ReportItems!Textbox55.Value  

So, the running sum is invisible in the table, but I use the final value in the total row.


UPDATE:

My colleague came up with an elegant solution.

In ratio total box, use the following expression:

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

adding the scope to the inner sums does the trick.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

稚然 2024-11-09 18:53:35

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

Try Sum((Fields!one.Value / Fields!two.Value)).

层林尽染 2024-11-09 18:53:35

您可以在数据集中添加一个计算字段来创建比率。

I - 直接在字段中插入数据字段而不是表达式。

现在,您可以通过右键单击并选择添加总计来获得总计。

II - 右键单击​​您的数据集,选择“添加计算字段”,将其命名为“比率”,在此处添加表达式。

那么比率将是一个选择,您可以将其作为实际字段而不是表达式添加到表格中。然后您可以将其总计。

You could add a calculated field in your data set that creates the ratio.

I - Insert the data field instead of the expression directly in the field.

Now you have it total by right-clicking and selecting add a total.

II - Right-click on your data set, select Add calculated field, name it ratio, add your expression here.

Then ratio will be a selection you can add to your table as an actual field instead of an expression. You can then total it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文