使用不同参数运行SSRS订阅

时间:2017-01-10 21:04:03

标签: reporting-services ssrs-2008 ssrs-2008-r2

有没有办法以编程方式执行具有不同报表参数的现有订阅?

到目前为止,我通过SQL执行订阅,如下所示:

EXEC ReportServer.dbo.AddEvent 'TimedSubscription', '<Subscriptions.SubscriptionID>'

但这似乎只允许我按原样执行订阅。

编辑: 我想为我们现有的订阅(总共50+)做到这一点。 手动重新创建每个订阅是不可行的。

3 个答案:

答案 0 :(得分:0)

我解决此问题的方法是在报表上设置数据驱动订阅,该订阅根据专门设计的SQL表中保存的值填充参数。然后,我设置了一个存储过程,该过程使用所需的值填充该表,然后使用AddEvent触发订阅。

如果您需要比生成报告更频繁地运行订阅并因此清除查找表,则可能会遇到此方法的问题。如果报告不那么频繁,你应该没事。

答案 1 :(得分:0)

如果我正确理解您的问题,您可以采取以下两种方法:

方法1

步骤1:导航到您想要使用不同参数运行的报告 第2步:选择管理报告
第3步:选择创建链接报告
第4步:选择报告可以居住的位置 步骤5:对于新链接的报告,单击以管理报告
第6步:更改您希望通过的默认参数 第7步:为新链接的报告创建订阅。

方法2

步骤1:导航到您想要使用不同参数运行的报告 第2步:选择管理报告 第3步:为报告创建订阅
步骤3a:在创建订阅时,指定要传递的值。

希望这有帮助!

答案 2 :(得分:0)

在运行Parameters命令之前,

The first commenter in this article通过存储过程更新Subscriptions表中的AddEvent值:

update Subscriptions 
set Parameters=    
'<ParameterValues><ParameterValue><Name>Value</Name><Value>' + @value + '</Value></ParameterValue></ParameterValues>'
where SubscriptionID='XXX-XXX-XXX-XXX'