如何使用不同的参数多次运行SSRS订阅?

问题描述 投票:0回答:1

无需编辑订阅表和SSRS SQL作业是否可以?

假设我有一个采用一个参数的报告。参数1是EAST和WEST。因此,我想创建一个将以编程方式运行报表的订阅(在本例中为两次,因为参数中有两个可能的选项)

假设我有一个select语句输出

EAST
WEST

我想知道是否可以使用内置的SSRS工具并采用该输出来运行报告(在本例中为两个,因为有两个可能的EAST和WEST)

将运行时将参数设置为EAST,参数设置为WEST的第二次运行

我简化了我的问题,以更好地解释。实际上,我在parameter1中有50个可能的选项。但我不想创建50个订阅。

我知道我可以更改SQL作业并更改参数后门。但我想知道是否有更优雅的解决方案(内置)

我知道我也可以使用R-TAG做到这一点,但是我正在寻找SSRS 2016可以开箱即用吗?

我正在使用SQL 2016和SSRS 2016 THX

sql-server reporting-services ssrs-2012 ssrs-2016
1个回答
0
投票

我对此的笨拙解决方案。

创建while循环并更新Subscriptions表并在循环内设置参数

  1. [首先,我创建一个带有“ east”和“ west”的临时表。
  2. 具有一个选择上面表格的光标。将光标提取到变量中
  3. 循环并更新订阅表中的参数。@ t2将包含东或西。

update Subscriptions set Parameters = 'Location' + @t2 + 'Month12' where SubscriptionID = @SBidEventData

  1. 执行报告
  2. 等待执行完成

set @bool1 = ISNULL((select eventdata from event where eventdata = @SBidEventData), '') while @bool1 <> '' begin set @bool1 = ISNULL((select eventdata from event where eventdata = @SBidEventData), '') if @bool1 = '' begin -- SET PATH AND PARAMETER TO THE WAY IT WAS WAITFOR DELAY '000:00:07' update Subscriptions set Parameters = 'LocationWest' where SubscriptionID = @SBidEventData end end

© www.soinside.com 2019 - 2024. All rights reserved.