2

我正在使用 SQL Server2005 报告服务编写报告。我有一个提供数据集的存储过程。

数据在报告中被分成组。每个组页脚都有一个函数(表达式),它是根据表中的字段计算的平均值(让我们将此值称为 X)。在数据的末尾,我希望报告有一个页脚,其中包括所有 X 值的总和。

请注意,我不想要列中所有字段的总和,但我想要组页脚中所有计算值的总和。这在 Excel 中真的很容易做到

这个问题似乎很简单,但我正在努力寻找答案。我会很感激任何帮助,谢谢。

4

1 回答 1

0

在搜索了 MS 论坛并进行了多次试验和错误之后,我的发现是这是此版本 BIDS 的限制。以下是解决方法:

1) 升级到更高版本的 BIDS。我没有调查我的问题是否会在以后的版本中得到解决,因为此时升级不是一个选项。

2) 向数据集添加一个新的计算字段。这不起作用,因为对于我的应用程序,计算字段需要不支持的聚合函数。

3) 最好的解决方案是在报表属性中添加一个 VB 代码函数,如下所示:

Dim Shared totalBalance
Dim Shared Cnt AS Integer

Public  Function AddTotal(ByVal balance ) 
                totalBalance = totalBalance + balance
                Cnt=Cnt+1
                return balance

End Function

Public Function GetTotal() 
                return totalBalance
End Function   

然后将组页脚中的代码引用为:=Code.AddTotal(Avg(Fields!Amount.Value))

并从报告页脚为:

=Code.GetTotal()

此解决方案在组页脚中运行良好,但在报表末尾的报表页脚中,变量CnttotalBalance被重置为 0。

于 2013-03-12T07:24:50.913 回答