大家,在 SSRS 中,我们有 2 列,如下所示。
销售 | 运行销售 5.00 | 5.00 3.00 | 8.00 1.00 | 9.00
区别在于第一列(销售额)是一个分组行,因此要获得每行销售额的总计,我们使用 =Sum(Fields!Sales.Value)。
当我尝试使用运行价值来获得运行销售总额时,就会出现问题。它给了我聚合函数只能用于页眉和页脚的 SSRS 错误。在这种情况下,将总数放在页脚中是没有意义的。有谁知道这个问题的解决方案/解决方法。
谢谢。
大家,在 SSRS 中,我们有 2 列,如下所示。
销售 | 运行销售 5.00 | 5.00 3.00 | 8.00 1.00 | 9.00
区别在于第一列(销售额)是一个分组行,因此要获得每行销售额的总计,我们使用 =Sum(Fields!Sales.Value)。
当我尝试使用运行价值来获得运行销售总额时,就会出现问题。它给了我聚合函数只能用于页眉和页脚的 SSRS 错误。在这种情况下,将总数放在页脚中是没有意义的。有谁知道这个问题的解决方案/解决方法。
谢谢。
我有同样的问题; 这就是我解决它的方法。
因此,这里是如何对本身是 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 作为十进制数。和两个函数AddTotal
和GetTotal
。
AddTotal
允许将行中的项目相加,在您拥有的值单元格中按如下方式使用;
=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