SSRS で複数の結果セットを結合するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/35315

  •  09-06-2019
  •  | 
  •  

質問

SSRS で異なるデータ ソースからの結果セットを結合する最良の方法は何ですか?

私の特定の例では、SQL Server からデータを取得し、それを DB2 データベースからの別のデータセットと組み合わせるレポートを作成する必要があります。最終的には、これらの個別のデータ セットを結合して、両方のソースのデータを同じ行に結合した 1 つの結合データセットを作成する必要があります。(両方のテーブルが同じ SQL DB からのものである場合の内部結合と同様です)。SSRS 2005 ではこれを「そのまま」実行できないことはわかっています。ユーザーはこのレポートをオンデマンドで実行できる必要があり、データをオンデマンドでテーブルに取り込むために SSIS を使用する必要があるように見えるため、SQL ボックスの一時テーブルにデータを取り込む必要があることには興味がありません。複数のユーザーが同時にレポートを取得しようとすると、時間がかかり、管理が困難になります。他にもっと洗練されたソリューションはあるでしょうか?

以下で説明するリンク サーバー ソリューションが技術的に機能することはわかっていますが、何らかの理由で DBA がリンク サーバーの使用を許可しません。

2 つの異なるデータ セットをレポートに追加できることはわかっていますが、それらを結合できる必要があります。これを最もよく達成する方法について何かアイデアを持っている人はいますか?

役に立ちましたか?

解決

私たちも同様のことをしなければなりませんでした(つまり、異なるサーバーからの 2 つのデータ ソースを内部結合します)。最善の方法は、独自のカスタム データ拡張機能を作成することだと思います。それはそれほど難しいことではなく、これやそれ以上のことができるようになります。

他のヒント

DB2 データベースを SQL サーバーのリンク サーバーとして追加し、SQL の view/sproc で 2 つのテーブルを結合するだけです。やってみました。難しいことはなく、リアルタイムでデータを取得できます。

データベースに直接アクセスするリンク サーバーを作成することも、営業時間中にデータベースに負担をかけたくない場合は、夜間に必要なデータをコピーするジョブを作成することもできます。

SSRS 2005 では、レポートに複数のデータセットを使用できます。各データセットは異なるデータソースを参照できます。1 つは SQL DB からのもので、もう 1 つは ODBC ソースなどです。

Visual Studio のレポート デザイナー ビューで [データ] タブに移動し、別のデータベースを指す新しいデータ ソースを追加します。完了したら、各要素のレポートを設計するときに、データの取得元のデータセットを明示的に指定する必要があります。

上記が機能しない場合は、マネージ コードを作成できます。を参照してください。 http://msdn.microsoft.com/en-us/msdntv/cc540036.aspx さらに役立つ情報やビデオをご覧ください。

MSSQL テーブルと DB2 テーブルの両方を Jet データベースに接続し、レポートを Jet データベースにバインドできます。Jet のシングル スレッドの性質がどのような意味を持つのか、また、どの程度の作業がバッキング ストアに委任されるのかはわかりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top