本地SSRS报告执行是缓存动态变量,即使在删除.rdl.data之后

时间:2016-11-17 15:41:22

标签: sql reporting-services ssrs-2008

我最近向SSRS部署了一份报告,该报告每个月都会生成上个月的结果报告。

我首先动态生成变量,确定生成报告结果的月份/年份:

DECLARE @ReportingMonth int
SET @ReportingMonth = MONTH(GETDATE()) - 1


DECLARE @ReportingYear int
SET @ReportingYear = YEAR(DATEADD(MONTH,-1,GETDATE()))

然后,在where子句中,我只是过滤MONTH(DateColumn)= @ReportingMonth和YEAR(DateColumn)= @ReportingYear

的结果

我报告的第一个月是10月,结果是9-2016。我包括一个我使用

的字段
CAST(@ReportingMonth AS nvarchar)+'-'+CAST(@ReportingYear AS nvarchar) [Report Period]

验证结果。我刚刚在本地再次运行报告,因为它现在是11月,@ ReportingMonth应该= 10. @ReportingMonth仍然设置为= 9。我将数据源查询直接复制/粘贴到SSMS中以检查我是否发生了一些错误,并且没有 - 当查询直接执行时,结果返回10-2016。

我之前看到SSRS中的本地报告运行发生了奇怪的缓存结果,并且删除了.rdl.data文件,然后重新运行过去总是解决了这种问题。在这里多次尝试没有运气。

SSRS还可以根据第一个月的运行来缓存这些变量吗?

1 个答案:

答案 0 :(得分:0)

我也有过ssrs现金的问题。这段代码解决了它 go工具>>外部工具>>

enter image description here