【发布时间】:2016-08-11 22:30:55
【问题描述】:
我正在创建基于存储过程的 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). 至少能够阐明为什么这可能会影响报告性能?
提前谢谢你!
【问题讨论】: