使用SSRS数据驱动订阅作为数据驱动的计划

时间:2012-09-21 16:17:29

标签: reporting-services ssrs-2008

我希望有一个数据驱动的“时间表”,这意味着每个报告都有它的独特时间(存储在每分钟填充一次的表格中)。

For example: (not all fields included)

To                 Parameter     Format    NextRunDate         ReportStatus
bob[at]email.com   SalesRegion1  Email     1/1/2012 9:00:00   'Unprocessed'
joe[at]email.com   SalesRegion2  Email     1/1/2012 9:05:00   'Unprocessed'
sara[at]email.com  SalesRegion1  Email     1/1/2012 8:55:00   'Processed'

如果时间目前是2012年1月1日9:01:00我的数据驱动订阅“where statement”就像......

where NextRunDate < GETDATE() -- in the past
   and ReportStatus = 'Unprocessed' -- <--here is my problem

此查询每分钟运行一次。它应该只为bob [at] email.com提取报告......

我的问题在这里: 我需要添加逻辑,在报告发送后切换报告状态和'已处理'...否则每次都会运行每个报告......

思考?其他方法可以让它发挥作用吗?

运行SQL Server 2k8 Enterprise

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果报告以类似的周期运行(每分钟或每隔五分钟运行一次),您可以使用BETWEEN和DATEADD减去上次运行报告时的分钟数(无论如何)到现在。

{在DATEADD之间的NextRunDate(mi,-5,GETDATE())和GETDATE()}

我希望有所帮助。