【发布时间】:2020-03-05 12:13:11
【问题描述】:
我需要每周生成 4 份报告并通过电子邮件发送。具体的时间和日期是可变的,因此它们只能由用户按需触发。所有报告都没有任何参数。
我想做的是创建第 5 个“流程报告”报告,当用户运行该报告时,其他 4 个会自动运行并通过电子邮件发送给用户,无需任何进一步的输入。
【问题讨论】:
标签: reporting-services sql-server-2016
我需要每周生成 4 份报告并通过电子邮件发送。具体的时间和日期是可变的,因此它们只能由用户按需触发。所有报告都没有任何参数。
我想做的是创建第 5 个“流程报告”报告,当用户运行该报告时,其他 4 个会自动运行并通过电子邮件发送给用户,无需任何进一步的输入。
【问题讨论】:
标签: reporting-services sql-server-2016
当另一个报告运行时,您可以使用 AddEvent 触发您的电子邮件订阅运行。
您需要设置一次性订阅或结束订阅。然后从地址栏中获取订阅的订阅 ID。
http://sqlprd01/reports/manage/catalogitem/editsubscription/Reports/Billing%20Issues?id=ac621ded-680a-41b8-9ae3-653e39715290
EXEC dbo.AddEvent @EventType = 'TimedSubscription', @EventData = 'ac621ded-680a-41b8-9ae3-653e39715290';
为数据集中的其他四个报表创建一个运行 AddEvent 的新报表。 您可能需要在 AddEvents 之后使用 SELECT 才能使数据集正常工作。
SELECT 'Reports Triggered' AS REPORT_STATUS
当这个报告运行时,它会触发其他 4 个报告。
【讨论】: