Events 基于事件运行的SSRS报告

Events 基于事件运行的SSRS报告,events,reporting-services,schedule,Events,Reporting Services,Schedule,以下是用户想要的场景。。。 ETL通常在上午5点完成,并且在成功加载时在表中插入一行。 从早上5点开始,SSRS报告应查找要插入的行,例如每30秒插入一行。 当它看到插入了一行并且SSRS报告应该运行时,该报告将向订阅中指定的用户发送电子邮件 没有SQL-RD有什么方法可以实现这一点吗? 请给我一个方向,因为我是MSBI的新手 问候,, Chakrapani M这不是一个理想的解决方案,但如果您运行的是Enterprise edition,您可以设置一个数据驱动订阅来检查插入的行,如果存在,则返

以下是用户想要的场景。。。 ETL通常在上午5点完成,并且在成功加载时在表中插入一行。 从早上5点开始,SSRS报告应查找要插入的行,例如每30秒插入一行。 当它看到插入了一行并且SSRS报告应该运行时,该报告将向订阅中指定的用户发送电子邮件

没有SQL-RD有什么方法可以实现这一点吗? 请给我一个方向,因为我是MSBI的新手

问候,,
Chakrapani M

这不是一个理想的解决方案,但如果您运行的是Enterprise edition,您可以设置一个数据驱动订阅来检查插入的行,如果存在,则返回电子邮件地址列表-使用此返回值填充数据驱动订阅中的“收件人:”字段。如果没有数据,则不会返回任何电子邮件地址,订阅将简单地“失败”


或者,如果您有权这样做,只需找到订阅在SSRS SQL主机上创建的作业,并将其更改为添加必要的条件逻辑,以便仅在适当时运行订阅。

使用包含3个任务的SSIS包:

  • SQL任务-单行结果集-检查数据是否基于上次运行日期场景,然后更新上次运行日期
  • SQL任务-任务1成功后运行“Windows文件共享”SSRS报告(如导出为PDF或Excel格式)
  • 电子邮件任务-任务2成功后,将文件添加为附件并发送
  • 部署包并将其添加到SQL Server作业,计划30秒

    或者将延迟(时间表)放入包中。即,使用For循环容器(具有可选循环结束计数)并将3个任务转储到其中,在任务1失败时使用额外的延迟任务场景,在任务3成功时使用早期退出循环。请记住将For循环的MaximumErrorCount设置为0,并将循环中除第一个task FailPackageError属性外的每个任务设置为True,以避免在ETL没有结果时调用延迟的故意错误