SSRS矩阵方差列 - 报告运行缓慢

时间:2016-08-11 13:33:56

标签: matrix reporting-services

我正在根据存储过程创建SSRS报告;该过程根据用户输入参数的月份(例如201604)调用最近六个月的数据。目前我将这些数据放入矩阵中,并且在这六个月内,报告需要有最新与前一个月的差异列(例如201604与201603)

现在我有一个公式,它使用我在存储过程中创建的列来指定行中的月份是CURRENT,PRIOR还是NONE(如果它没有在计算中使用)。

   =SUM(IIF(Fields!VarHelper.Value = "CURRENT",1,0) * Fields!stock_value.Value
   -
   IIF(Fields!VarHelper.Value = "PRIOR",1,0) * Fields!stock_value.Value)

我在报告的三个区域/单元格中使用此公式,并且由于某种原因,它导致报告运行非常缓慢(运行大约45秒)。如果报告中没有这些差异公式,它几乎可以立即运行。

是否有人能够a)。提出一种更好的方法来计算矩阵中最近两个月之间的差异,或b)。至少可以说明为什么这可能会影响报告的表现?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

尝试报告查询的计算结果。 两种可能的方法:如果你做了一个SQL查询:在select中进行。 或者,在数据集中添加calculted字段。 并在这些领域总结。 可能你会赢得时间:因为数据库服务器将创建作业而不是报表服务器。