Reporting services 我想通过单击字段来执行报表订阅

Reporting services 我想通过单击字段来执行报表订阅,reporting-services,Reporting Services,我已经在SQLServer报表服务上创建了一个报表,其中列出了所有报表及其相应的订阅 [report name] [subscription description] [run] 我添加了一个名为[run]的列,其中包含一个图像。我希望这样,如果用户单击[run]图像/单元格,它就会执行相应的订阅 这可能吗 我已经看过映像操作,但它似乎只允许执行报告(而不是订阅)或URL。我使用的解决方法是创建一个名为SubscriptionRunner的单独报告,该报告接受一个参数(订阅id),并使用以下S

我已经在SQLServer报表服务上创建了一个报表,其中列出了所有报表及其相应的订阅

[report name] [subscription description] [run]
我添加了一个名为
[run]
的列,其中包含一个图像。我希望这样,如果用户单击
[run]
图像/单元格,它就会执行相应的订阅

这可能吗


我已经看过映像操作,但它似乎只允许执行报告(而不是订阅)或URL。

我使用的解决方法是创建一个名为SubscriptionRunner的单独报告,该报告接受一个参数(订阅id),并使用以下SQL(Anthony Forloney提供)执行该订阅:

EXEC ReportServer.dbo.AddEvent@EventType='TimedSubscription',@EventData=
然后,我在原始报告中设置单元格的Action属性以运行SubscriptionRunner报告


这会产生打开SubscriptionRunner的副作用(我更愿意避免),但现在就可以了。

您可以通过自己的方法利用ReportServer通过SQL Server代理作业执行订阅的固有方式,但可能不会在本机公开。通过查看来自SQL server的最新订阅,我看到作业只执行以下语句,
exec[Your_RS_Database].dbo.AddEvent@EventType='TimedSubscription',@EventData=''
我不知道单击单元格时如何调用SQL。单击报表中的单元格时不能直接调用SQL,但有其他方法(可能不是最好的方法)来调用报表。您是在寻找要在单击时执行并可呈现的报表,还是刚刚执行的报表?我只希望执行订阅。我使用的解决方法是创建一个名为SubscriptionRunner的单独报表,该报表执行Anthony的SQL。然后,我将原始报告中的Action属性设置为运行SubscriptionRunner。这有打开SubscriptionRunner的副作用(我更愿意避免),但现在就可以了。
EXEC ReportServer.dbo.AddEvent @EventType='TimedSubscription', @EventData=<SubscriptionID>