1

SSRS 2008 サーバーをネイティブ モードで実行しています。次のことが可能かどうか、可能であればその方法を理解しようとしています。ある条件が満たされた場合にのみレポートを生成するスケジュールされたサブスクリプションが必要です。私にとって条件を表現する最も自然な方法は、特定のクエリがデータとともに返された場合です。これは可能ですか?

したがって、基本的には定期的に DB をチェックし、(エラー ログのような) データがあれば、それについてメールを送信します。

さらに調査した結果、次のリンクを見つけました: http://blogs.msdn.com/b/bimusings/archive/2005/07/29/445080.aspx コメントで人々は次のトリックを提供しています:

IF NOT EXISTS ( SELECT * FROM ....)

RAISEERROR('no records found,'16,1

ELSE

SELECT * FROM ....

これを使用して、送信する電子メールを生成したり、エラーをスローしたりできます。問題は、レポートがストアド プロシージャでラップされており、ストア プロシージャで IF NOT EXISTS を使用できないことです。ストアド プロシージャが行を一時テーブルに配置したり、@@rowcout を参照して実行したりせずに返されたかどうかを確認する方法に関する推奨事項はありますか? 最後の方法は、手順の出力を電子メールと一緒に返すことができないため、私には適していません。

4

2 に答える 2

1

実際には、TSQL コマンドを使用して SSRS レポートをトリガーできます。定期的に実行するようにスケジュールされたスクリプトがあり、特定の SSRS レポートを実行する必要があるかどうかを判断するために SQL を微調整します。それはあなたのためにトリックをするはずです。レポートの ID を指定して、他のジョブと同じように実行するだけです。スケジュールされた SSRS レポートを見て、DB にあるときにパラメーターがどのように見えるかを確認して、正しく呼び出すことができるようにすることをお勧めします。

于 2013-05-03T15:45:30.413 に答える
1

あなたはデータ駆動型サブスクリプションを探しています。そのMSDNのドキュメントから:

Reporting Services は、動的なサブスクライバー データに基づいてレポートの配布をカスタマイズできるように、データ ドリブンのサブスクリプションを提供します。データ ドリブン サブスクリプションは、次の種類のシナリオを対象としています。

• 配布ごとにメンバーシップが変わる可能性のある大規模な受信者プールにレポートを配布する。たとえば、現在のすべての顧客に月次レポートを配布します。

• 事前定義された基準に基づいて、特定の受信者グループにレポートを配布する。たとえば、組織内の上位 10 人の販売マネージャーに販売実績レポートを送信します。

SSRS のすべてのエディションがデータ ドリブン サブスクリプションをサポートしているわけではないため、お使いのバージョンがサポートしているかどうかを確認してください。

私はそれをあまり使っていませんが、私の知る限り、それはあなたの要件を満たすはずです。関連/関連MSDNページから:

データ ドリブン サブスクリプションを使用して、実行時にレポート出力、配信オプション、およびレポート パラメーター設定をカスタマイズします。サブスクリプションはクエリを使用して、実行時にデータ ソースから入力値を取得します。データ ドリブンの購読を使用して、購読の処理時に決定された購読者のリストにレポートを送信する差し込み印刷操作を実行できます。

これがあなたの求めているもののようです。

于 2013-05-03T14:19:16.080 に答える