2

大家,在 SSRS 中,我们有 2 列,如下所示。

销售 | 运行销售
5.00 | 5.00
3.00 | 8.00
1.00 | 9.00

区别在于第一列(销售额)是一个分组行,因此要获得每行销售额的总计,我们使用 =Sum(Fields!Sales.Value)。

当我尝试使用运行价值来获得运行销售总额时,就会出现问题。它给了我聚合函数只能用于页眉和页脚的 SSRS 错误。在这种情况下,将总数放在页脚中是没有意义的。有谁知道这个问题的解决方案/解决方法。

谢谢。

4

1 回答 1

3

我有同样的问题; 这就是我解决它的方法。

因此,这里是如何对本身是 sum 函数的列进行小计。SSRS 2005 不允许您聚合聚合函数。例如,显示运行总计的列的总计,在每日库存余额计算中很有用。将以下代码添加到报表 Report > Properties

Dim public totalBalance As Decimal 
Public Function AddTotal(ByVal balance As Decimal) AS Decimal totalBalance = totalBalance + balance return balance 
End Function 
Public Function GetTotal() return totalBalance 
End Function

此代码添加了两个变量:totalbalance 和 cnt 作为十进制数。和两个函数AddTotalGetTotalAddTotal允许将行中的项目相加,在您拥有的值单元格中按如下方式使用;

=RunningTotal(Fields!ColumnName.Value,sum,nothing) 
with
=Code.AddTotal(RunningTotal(Fields!ColumnName.Value,sum,nothing))

在整个单元格中,您无法简单地使用它

=sum(RunningTotal(Fields!ColumnName.Value,sum,nothing))
use instead
=Code.GetTotal()

如果您需要对多个字段的总和求和,只需添加更多变量和公共函数。

http://blog.wingateuk.com/2011/09/ssrs-aggregate-of-aggregate.html

于 2013-04-12T07:35:29.207 回答