Power BI のページ分割された レポートでのサブレポート

適用対象: Power BI Report Builder Power BI Desktop

サブレポートは、ページ分割されたメインのレポート本文内に別のページ分割されたレポートを表示する、ページ分割されたレポート アイテムです。 概念上、レポート内のサブレポートは Web ページ内のフレームとほぼ同じです。 これは、レポートをレポート内に埋め込むために使用します。 任意のレポートをサブレポートとして使用できます。 サブレポートとして表示されるレポートは、親レポートと同じワークスペースに保存します。 親レポートからサブレポートにパラメーターを渡すようにも設定できます。 パラメーターを使用してサブレポートの各インスタンスのデータをフィルター処理することにより、サブレポートをデータ領域内で繰り返し使用することができます。

次のスクリーンショットで Sales Order メイン レポートに表示されている連絡先情報は、実際には Contacts サブレポートから取得されたものです。

Screenshot showing a subreport in a paginated report.

Power BI レポート ビルダーで、ページ分割されたレポート定義 (.rdl) ファイルを作成および変更します。 SQL Server Reporting Services に格納されているサブレポートは、Power BI サービスのワークスペースにアップロードできます。 メイン レポートとサブレポートは、同じワークスペースにパブリッシュする必要があります。

前提条件

Power BI の改ページ対応レポート (.rdl ファイル) のライセンス要件は、Power BI レポート (.pbix ファイル) の場合と同じです。

レポート ビルダーと Power BI サービスを操作する

Power BI Report Builder は、コンピューター上のページ分割されたレポート (ローカル レポートと呼ばれます)、または Power BI サービスに関するレポートを操作できます。 レポート ビルダーを初めて開くと、Power BI アカウントにサインインするように求められます。 まだサインインしていない場合、右上隅にある [サインイン] を選択します。

Screenshot showing Sign in to Power BI.

サインインすると Power BI レポート ビルダーの [Power BI サービス] オプションが、 [ファイル] メニューの [開く] および [名前を付けて保存] オプションとして表示されます。 レポートを保存するための [Power BI サービス] オプションを選択した場合は、Power BI レポート ビルダーと Power BI サービスの間にライブ接続が作成されます。

Screenshot showing Open from the Power BI service.

ローカル レポートを Power BI サービスに保存する

サブレポートをメイン レポートに追加する前に、この 2 つのレポートをまず作成し、それらを同じ Power BI ワークスペースに保存します。

  1. 既存のローカル レポートを開くには、 [ファイル] メニューで、 [開く]>[この PC] を選択し、.rdl ファイルを選択します。

  2. [ファイル] メニューで、 [名前を付けて保存]>[Power BI サービス] を選択します。 詳しくは、「ページ分割されたレポートを Power BI サービスに発行する」をご覧ください。

    注意

    Power BI サービスから開始して、レポートをアップロードすることもできます。 詳細については、同じ記事「ページ分割されたレポートを Power BI サービスに発行する」にあります。

  3. [名前を付けて保存] ダイアログ ボックスで、ページ分割されたレポートを保存できる Power BI ワークスペースを選択します。

    Screenshot showing Save as to the Power BI service.

  4. [保存] を選択します。

サブレポートをレポートに追加する

両方のレポートを同じワークスペースに保存した後、1 つをもう一方にサブレポートとして追加できます。 サブレポートを追加するには、次の 2 つの方法があります。

  1. [挿入] のリボンで [サブレポート] ボタンを選択するか、レポート キャンバスを右クリックして、 [挿入]>[サブレポート] を選択します。

    Screenshot showing Insert a subreport in a report.

    [サブレポートのプロパティ] ダイアログ ボックスが開きます。

  2. [参照] ボタンを選択 > サブレポートとして使用するレポートに移動 >[名前] テキスト ボックスにサブレポートの名前を指定します。

  3. 必要に応じて、パラメーターを含むその他のプロパティを構成します。

サブレポートのパラメーターを使用する

親レポートからサブレポートにパラメーターを渡すには、サブレポートとして使用するレポートでレポート パラメーターを定義します。 親レポートにサブレポートを配置するときに、レポート パラメーターと、親レポートからサブレポート内のレポート パラメーターに渡す値を選択できます。

注意

サブレポートから選択するパラメーターは、クエリ パラメーターではなくレポート パラメーターです。

サブレポートは、レポート本文内またはデータ領域内に配置できます。 データ領域にサブレポートを配置する場合、同じサブレポートがグループのインスタンスまたはデータ領域の行ごとに配置されます。 グループまたは行からサブレポートに値を渡すことができます。 サブレポートの値のプロパティで、サブレポート パラメーターに渡す値を含むフィールド用のフィールド式を使用します。

パラメーターおよびサブレポートの操作の詳細については、サブレポートとパラメーターの追加に関する記事を参照してください。

ページ分割されたレポートをレポート ビルダーでプレビューする

レポート ビルダーでレポートをプレビューすることができます。

  • [ホーム] リボンで、 [実行] をクリックします。

レポート ビルダーはデザインツールであるため、レポートのプレビューは、Power BI サービスでのレポートのレンダリングと異なる場合があります。

プレビューに関する注意事項

  • レポート ビルダーは、レポートで使用されるデータ ソースの資格情報を格納しません。 レポート ビルダーはプレビュー期間中、資格情報のセットを入力するようユーザーに求めます。
  • レポート データ ソースがオンプレミスの場合は、レポートを Power BI ワークスペースに保存した後でゲートウェイを構成する必要があります。
  • プレビュー中にレポート ビルダーにエラーが発生した場合、汎用メッセージが返されます。 エラーのデバッグが難しい場合は、Power BI サービスでレポートをレンダリングすることを検討してください。

考慮事項

接続を維持する

ファイルを閉じると、Report Builder と Power BI の間の接続が終了します。 Power BI ワークスペースに格納されているサブレポート付きのローカルのメイン レポートを操作することができます。 メイン レポートを Power BI ワークスペースに保存してから、レポートを閉じるようにしてください。 そうしないと、プレビュー中に 'not found' というメッセージが表示されることがあります。これは、Power BI サービスへのライブ接続がないためです。 このような場合、サブレポートにアクセスし、そのプロパティを選択します。 Power BI サービスからサブレポートを再び開きます。 これによって接続が再確立され、その他のすべてのサブレポートは問題なく動作します。

サブレポートの名前を変更する

ワークスペースでサブレポートの名前を変更する場合は、メイン レポートの名前参照を修正する必要があります。 そうしないと、サブレポートはレンダリングされなくなります。 その場合もメインレポートはレンダリングされますが、サブレポート項目内にエラー メッセージが表示されます。

サイズの大きいレポートを移行する

サイズの大きなレポートを Power BI に移行する場合は、RDL 移行ツールを使用することを検討してください。 RDL 移行ツールは、重複するサブレポート名を処理するように更新されました。 複数のレポートが同じ名前を共有し、異なるサブディレクトリに存在する場合、サブレポート名の重複が発生する可能性があります。 名前が一意に解決されない場合は、最初のサブレポートのみが認識されます。

Report Builder を使用してサイズの大きなレポートを移行する場合は、まずサブレポートを操作する必要があります。 レポート名が重複しないように、Power BI ワークスペースにそれぞれを保存します。

レポートとサブレポートを共有する

メイン レポートとサブレポートは同じワークスペースになければなりません。 そうしないと、サブレポートはレンダリングされなくなります。 メイン レポートを共有する場合は、サブレポートも共有する必要があります。 アプリでメイン レポートを共有する場合は、そのアプリにサブレポートも含めるようにしてください。 メイン レポートをユーザーまたはユーザー グループと直接共有する場合は、各サブレポートを同じ一連のユーザーまたはユーザー グループとも共有していることを確認してください。