2017-01-10 14 views
1

異なるレポートパラメータで既存のサブスクリプションをプログラムで実行する方法はありますか?異なるパラメータでSSRSサブスクリプションを実行する

次のようにこれまでのところ、私はSQLを経由してサブスクリプションを実行します。

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

をしかし、これは、あるとして私は、サブスクリプションを実行できるようにするようです。

編集: 私は既存のサブスクリプション(50以上の合計)でこれをやりたかったのです。 手動で各サブスクリプションを再作成することは不可能です。

+0

一つの方法は、レポートやサブスクリプションを作成し、すべてのサブスクリプションのレポートパラメータを設定することです(サブスクリプション側の)値には、実行ごとに「デフォルトを使用」に変更する必要があります。レポートがレンダリングされるときに、情報を送信してパラメータ値を計算することができます。 –

答えて

0

この問題を解決する方法は、特に設計されたSQLテーブル内に保持されている値に基づいてパラメータを設定したレポートにデータ駆動型サブスクリプションを設定することでした。私はその後、必要な値を持つテーブルに値を設定し、AddEventを使用してサブスクリプションを起動したストアドプロシージャを設定しました。

レポートを作成してルックアップテーブルを消去するよりも頻繁にサブスクリプションを実行する必要がある場合は、この方法で問題が発生する可能性があります。レポートが頻繁ではない場合は、あなたは大丈夫です。私が正しくあなたの質問を理解していた場合

0

、あなたは以下のアプローチの2を取ることができる:

アプローチ1

ステップ1:あなたが異なるパラメータで実行したいレポートに移動します。
手順2:レポートの管理を選択する
手順3:リンクされたレポートを作成するために選択する
手順4:レポートを保存できる場所を選択します。
手順5:新しいリンクされたレポートの場合は、をクリックしてレポートを管理します
手順6:渡したい既定のパラメータを変更します
手順7:新しいリンクされたレポートのサブスクリプションを作成します。

アプローチ2

ステップ1:あなたが異なるパラメータで実行したいレポートに移動します。
ステップ2:レポートを管理する場合に選択します。
ステップ3:レポートのサブスクリプションを作成する
ステップ3a:サブスクリプションを作成する際に、渡す値を指定します。

希望すると便利です。

0

The first commenter in this articleAddEventコマンドを実行する前に、ストアドプロシージャを経由してSubscriptionsテーブルでParameters値を更新します。これを行うには

update Subscriptions 
set Parameters=  
'<ParameterValues><ParameterValue><Name>Value</Name><Value>' + @value + '</Value></ParameterValue></ParameterValues>' 
where SubscriptionID='XXX-XXX-XXX-XXX' 
関連する問題