改ページ対応レポートのページ ヘッダーとフッター (Power BI Report Builder)
適用対象: Power BI Report Builder
Power BI Desktop
ページ分割されたレポートには、各ページの上部と下部にヘッダーとフッターを含めることができます。 ヘッダーとフッターには、静的テキスト、画像、線、四角形、罫線、背景色、背景画像、式などを含めることができます。 式には、データセットが 1 つしかないレポートでのデータセット フィールド参照と、スコープとしてデータセットを指定する集計関数呼び出しが含まれます。
Note
表示拡張機能の種類によって、ページの処理方法が異なります。 レポートの改ページとレンダリング拡張機能について詳しくは、Reporting Services での改ページ (Power BI Report Builder とサービス) に関する記事をご覧ください。
既定では、レポートにはページ フッターは含まれますが、ページ ヘッダーは含まれません。 それらを追加または削除する方法について詳しくは、ページ ヘッダーまたはページ フッターの追加および削除 (Power BI Report Builder とサービス) に関する記事をご覧ください。
ヘッダーおよびフッターには、通常、ページ番号、レポート タイトル、およびその他のレポート プロパティが含まれます。 レポートのヘッダーまたはフッターにこれらのアイテムを追加する方法について詳しくは、ページ番号または他のレポート プロパティの表示 (Report Builder とサービス) に関する記事をご覧ください。
ページ ヘッダーまたはページ フッターを作成すると、各レポート ページに表示されます。 最初と最後のページでページのヘッダーとフッターを非表示にする方法について詳しくは、最初または最後のページでのページのヘッダーまたはフッターの非表示 (Report Builder と Power BI サービス) に関する記事をご覧ください。
レポートのヘッダーとフッター
ページ ヘッダーとページ フッターは、レポート ヘッダーとレポート フッターとは異なります。 レポートには、レポート ヘッダーやレポート フッターの特別な領域がありません。 レポート ヘッダーは、レポート デザイン画面でレポート本文の一番上に配置されるレポート アイテムで構成されます。 これらはレポートの最初のコンテンツとして 1 回だけ表示されます。 レポート フッターは、レポート本文の一番下に配置されるレポート アイテムで構成されます。 これらはレポートの最後のコンテンツとして 1 回だけ表示されます。
ページのヘッダーまたはフッターでの可変データの表示
ページ ヘッダーおよびページ フッターには静的なコンテンツを含めることもできますが、一般的にはページ番号やページのコンテンツに関する情報などの動的なコンテンツを表示します。 ページごとに異なる変数データを表示するには、式を使用する必要があります。
レポートで定義されているデータセットが 1 つだけの場合は、 [FieldName]
のような単純な式をページ ヘッダーまたはページ フッターに追加できます。 レポート データ ペインのデータセット フィールド コレクションまたは組み込みフィールド コレクションからページ ヘッダーまたはページ フッターにフィールドをドラッグします。 適切な式が含まれたテキスト ボックスが自動的に追加されます。
ページの値の合計やその他の集計を計算するには、ReportItems またはデータセット名を指定する集計式を使用できます。 ReportItems コレクションは、レポートが表示された後の各ページにあるテキスト ボックスのコレクションです。 データセット名がレポート定義に存在する必要があります。 次の表に、各集計式タイプでサポートされているアイテムを示します。
式でサポート | ReportItems の集計 | データセットの集計 (スコープがデータセット名であること) |
---|---|---|
レポート本文のテキスト ボックス | はい | いいえ |
&PageNumber | はい | いいえ |
&TotalPages | はい | いいえ |
集計関数 | はい。 たとえば、次のように入力します。=First(ReportItems!TXT_LastName.Value) |
はい。 たとえば、次のように入力します。=Max(Quantity.Value,"DataSet1") |
ページ上のアイテムのフィールド コレクション | 間接的。 たとえば、次のように入力します。=Sum(ReportItems!Textbox1.Value) |
はい。 たとえば、次のように入力します。=Sum(Fields!Quantity.Value,"DataSet1") |
データバインド画像 | 間接的。 たとえば、=ReportItems!TXT_Photo.Value のように指定します。 |
はい。 たとえば、次のように入力します。=First(Fields!Photo.Value,"DataSet1") |
このトピックの以下のセクションでは、ヘッダーおよびフッターで一般的に使用される変数データを取得するための、すぐに使用できる式を示します。 また、Excel 表示拡張機能でヘッダーおよびフッターが処理される方法についても説明します。 式について詳しくは、「Power BI Report Builder での式」を参照してください。
ヘッダーまたはフッターに計算されたページ合計を追加する
レポートの種類によっては、各レポートのヘッダーまたはフッターに計算値 (たとえば、ページに数値が含まれている場合はページごとの合計) を含めると便利です。 フィールドを直接参照することはできないので、ヘッダーまたはフッターに配置する式は、次の例のように、データ フィールドではなく、レポート アイテム (たとえばテキスト ボックス) の名前を参照する必要があります。
=Sum(ReportItems!Textbox1.Value)
データ行の繰り返しを含むテーブルまたは一覧内にテキスト ボックスがある場合、実行時にヘッダーまたはフッターに表示される値は、現在のページのテーブルまたは一覧のすべての TextBox1
インスタンス データのすべての値の合計になります。
ページ合計を計算する場合、異なる表示拡張機能を使用してレポートを表示すると、合計に相違が生じる可能性があります。 ページ割り当てされた出力は、表示拡張機能の種類によって、異なった方法で計算されます。 HTML で表示したページと同じページを PDF で表示した場合、PDF ページ上のデータ量が異なると、表示される合計も異なる可能性があります。 詳しくは、レンダリングの動作 (Report Builder とサービス) に関する記事をご覧ください。
複数のデータセットを含むレポート
複数のデータセットがあるレポートの場合は、ヘッダーまたはフッターにフィールドやデータバインド画像を追加することはできません。 ただし、ヘッダーまたはフッターで使用するフィールドやデータバインド画像を間接的に参照する式を記述することはできます。
ヘッダーまたはフッターに変数データを配置するには
ヘッダーまたはフッターにテキスト ボックスを追加します。
テキスト ボックスに、表示する変数データを生成する式を記述します。
その式に、ページ上のレポート アイテムへの参照を含めます (たとえば、特定のフィールドのデータが格納されているテキスト ボックスを参照できます)。 データセット内のフィールドへの直接参照を含めることはできません。 たとえば、式
[LastName]
は使用できません。TXT_LastName
テキスト ボックスの最初のインスタンスの内容を表示するには、次の式を使用します。=First(ReportItems!TXT_LastName.Value)
ページ ヘッダーまたはページ フッターのフィールドには集計関数を使用できません。 集計関数はレポート本文のレポート アイテムにのみ使用できます。 ページのヘッダーとフッターでの一般的な式については、式の例 (Report Builder とサービス) に関する記事をご覧ください。
ヘッダーまたはフッターにデータ バインド画像を追加する
ヘッダーまたはフッターで、データベースに格納された画像データを使用できます。 ただし、画像レポート アイテムからデータベース フィールドを直接参照することはできません。 代わりに、レポートの本文にテキスト ボックスを追加し、そのテキスト ボックスを画像が格納されているデータ フィールドに設定します (値は base64 でエンコードされている必要があります)。 base64 でエンコードされた画像が表示されないように、レポートの本文でテキスト ボックスを非表示にできます。 次に、ページ ヘッダーまたはページ フッターの画像レポート アイテムから、非表示のテキスト ボックスの値を参照します。
たとえば、製品情報のページから成るレポートがあるとします。 各ページのヘッダーには、製品の写真を表示します。 保存されている画像をレポート ヘッダーに出力するには、データベースから画像を取得する TXT_Photo
という非表示のテキスト ボックスをレポートの本文に定義し、次の式を使用してそのボックスに値を渡します。
=Convert.ToBase64String(Fields!Photo.Value)
ヘッダーで、 TXT_Photo
テキスト ボックスを使用する画像レポート アイテムを追加し、デコードして画像を表示します。
=Convert.FromBase64String(ReportItems!TXT_Photo.Value)
ヘッダーとフッターを使ってテキストを配置する
ヘッダーおよびフッターを使用して、ページ上にテキストを配置できます。 たとえば、顧客に郵送するレポートを作成しているとします。 顧客の住所をヘッダーまたはフッターを使用して配置することで、レポートを折りたたんだ時に、その住所が封筒の窓から見えるようにすることができます。
テキスト ボックスを使用してヘッダーまたはフッターのみに値を設定する場合は、レポートの本文でそのテキスト ボックスを非表示にすることができます。 レポートの本文にテキスト ボックスを配置すると、ヘッダーやフッターに表示する値が、レポートの最初と最後のどちらのページに表示されるかに影響する可能性があります。 たとえば、レポートが 1 ページに収まらないテーブル、マトリックス、一覧がある場合、非表示のテキスト ボックスの値は最後のページに表示されます。 これを最初のページに表示する必要がある場合は、非表示のテキスト ボックスをレポート本文の先頭に配置します。
特定のレンダラー用にページのヘッダーとフッターを含むレポートを設計する
レポートが処理されると、データとレイアウトの情報は結合されます。 レポートを表示すると、結合された情報がレンダラーに渡され、各レポート ページに収まるレポート データの量が決まります。
ブラウザーを使用してレポート サーバーでレポートを表示する場合は、表示されるレポート ページの内容を HTML レンダラーがコントロールします。 表示に使用する形式とは異なる形式でレポートを配信する場合や、特定の形式でレポートを印刷する場合は、最終的なレポート形式に使用するレンダラーに合わせてレポート レイアウトを最適化することをお勧めします。 レポートの改ページについて詳しくは、Reporting Services での改ページ (Report Builder とサービス) に関する記事をご覧ください。
Excel でページのヘッダーとフッターを操作する
Excel の表示拡張機能を対象とするレポートにページ ヘッダーおよびページ フッターを定義する場合は、次のガイドラインに従うことで、最も良い結果を得ることができます。
- ページ フッターは、ページ番号を表示するために使用します。
- ページ ヘッダーは、画像、タイトル、またはその他のテキストを表示するために使用します。 ヘッダーには、ページ番号を配置しないようにします。
Excel では、ページ フッターのレイアウトに制限があります。 ページ フッターに複雑なレポート アイテムを含むレポートを定義した場合、そのレポートを Excel で表示すると、ページ フッターの処理は期待どおりには行われません。
Excel の表示拡張機能は、ページ ヘッダー内の画像、および単純または複雑なレポート アイテムの絶対位置に対応しています。 よりリッチなページ ヘッダー レイアウトをサポートする副作用として、ヘッダーでのページ番号の計算に制限が生じます。 Excel の表示拡張機能では、既定の設定で、ページ番号がワークシートの数に基づいて計算されます。 レポートの定義の仕方によっては、ページ番号に誤りが生じる可能性があります。 たとえば、印刷すると 4 ページになる単一の大きなワークシートとして表示されるレポートがあるとします。 ヘッダーにページ番号情報を含めると、印刷された各ページのヘッダーには、"Page 1 of 1" と表示されます。
より正確なページ数は、印刷されたページの寸法に相関する論理ページに基づいて計算されます。 Excel のページ フッターでは、論理ページ番号が自動的に使用されます。 ページ ヘッダーに論理ページ数を配置するには、単純なヘッダーを使用するようにデバイス情報設定を構成する必要があります。 単純なヘッダーを使用する場合は、ヘッダー領域で複雑なレポート レイアウトを処理する機能を削除してください。
詳しくは、Microsoft Excel へのエクスポート (Power BI Report Builder とサービス) に関する記事をご覧ください。