サブレポート (レポート ビルダーおよび SSRS)
サブレポートは、メインのレポート本文内に別のレポートを表示するレポート アイテムです。 概念上、レポート内のサブレポートは Web ページ内のフレームとほぼ同じです。 これは、レポートをレポート内に埋め込むために使用されます。 サブレポートには、任意のレポートを使用できます。 サブレポートとして表示されるレポートは、レポート サーバー上に保存され、通常は親レポートと同じフォルダーに置かれます。 親レポートからサブレポートにパラメーターを渡すようにも設定できます。 パラメーターを使用してサブレポートの各インスタンスのデータをフィルター処理することにより、サブレポートをデータ領域内で繰り返し使用することができます。
この図の Sales Order メイン レポートに表示されている連絡先情報は、実際には Contacts サブレポートから取得されたものです。
注 |
---|
SQL Server データ ツールのレポート ビルダーまたはレポート デザイナーを使用して、レポート定義 (.rdl) を作成および変更できます。これらの作成環境では、レポートおよび関連アイテムの作成方法、開く方法、および保存方法が異なります。詳細については、microsoft.com Web サイトの「レポート デザイナーおよびレポート ビルダーを使用したレポートのデザイン (SSRS)」を参照してください。 |
サブレポートと入れ子になったデータ領域の比較
サブレポートを使用してさまざまなデータ グループを表示しようと考えている場合は、代わりにテーブル、マトリックス、グラフなどのデータ領域を使用することを検討してください。 データ領域を使用しているレポートの方が、サブレポートを使用しているレポートよりもパフォーマンスが優れている可能性があります。
同じデータ領域内の同じデータ ソースから取得されるデータ グループを入れ子にする場合は、データ領域を使用してください。 同じデータ領域内の異なるデータ ソースから取得されるデータのグループを入れ子にしたり、複数の親レポートで同じサブレポートを再利用したり、別のレポート内にスタンドアロンのレポートを表示する場合は、サブレポートを使用してください。 たとえば、別のレポートの本文内に複数のサブレポートを配置して、"抄録ファイル" を作成することもできます。
データ領域はサブレポートと同じ機能の多くが提供され、柔軟性も同等ですが、パフォーマンスの点で優れています。 サブレポートは、それぞれのインスタンスが個別のレポートとして処理されるので、レポート サーバーのパフォーマンスに影響することがあります。 詳細については、「入れ子になったデータ領域 (レポート ビルダーおよび SSRS)」を参照してください。
サブレポートでのパラメーターの使用
親レポートからサブレポートにパラメーターを渡すには、サブレポートとして使用するレポートでレポート パラメーターを定義します。 親レポートにサブレポートを配置するときに、レポート パラメーターと、親レポートからサブレポート内のレポート パラメーターに渡す値を選択できます。
注 |
---|
サブレポートから選択するパラメーターは、クエリ パラメーターではなくレポート パラメーターです。 |
サブレポートは、レポート本文内またはデータ領域内に配置できます。 データ領域にサブレポートを配置する場合、同じサブレポートがグループのインスタンスまたはデータ領域の行ごとに配置されます。 グループまたは行からサブレポートに値を渡すには、サブレポートの値のプロパティで、サブレポート パラメーターに渡す値を含むフィールド用のフィールド式を使用します。
サブレポートの操作方法の詳細については、「サブレポートおよびパラメーターの追加 (レポート ビルダーおよび SSRS)」を参照してください。
サブレポートの名前と場所の指定
同じレポート サーバー上の異なるフォルダーにあるサブレポートを指定するようにメイン レポートを設定できます。
サブレポートを指定する構文は、レポート サーバーがネイティブ モードで動作しているか、SharePoint 統合モードで動作しているかによって異なります。 詳細については、「外部アイテムへのパスの指定 (レポート ビルダーおよび SSRS)」を参照してください。
レポート ビルダーからメイン レポートのサブレポートをプレビューするには、両方のレポートが同じレポート サーバーに存在するか、サブレポートの完全なパスを指定する必要があります。