業務システム

Power BI Report Builderの使い方:ページ分割レポートの作成・発行・PDF出力の自動化

Webマーケティング戦略

Power BI Report Builderは、請求書・売上明細・月次資料のように、印刷やPDFで配る帳票(ページ分割されたレポート)を作るためのWindows用の無料ツールです。通常のPower BIレポートは画面で操作する前提のため、表の行が多いとスクロールバーの外側が印刷されません。この記事では、通常レポートとの使い分け、インストールと発行に要るライセンス、SQLクエリとパラメーターで明細帳票を作る手順、発行後のデータソース設定、URLとREST APIでPDFを自動出力するコード例までを作業の順に示します。仕様の根拠は2026年11月時点のMicrosoft Learnの記述です。

まとめ:Report Builderは紙とPDFで配る帳票をPower BIで作る専用ツール

Power BI Desktopで作るレポートは画面で絞り込みながら探す分析用、Report Builderで作るページ分割レポートは決まった体裁で全件を出す帳票用です。同じPower BIサービスのワークスペースに並べて置け、ライセンスの条件も通常のレポートと変わりません。

作り方の要点は3つあります。データはSQLやセマンティックモデルへのクエリでレポートの中に定義すること、ページ番号や見出しの繰り返しをプロパティで指定すること、発行後にサービス側でデータソースの資格情報を設定することです。毎月の帳票を人手で出力しているなら、URLパラメーターかexportToFile APIで出力まで自動化できます。

ページ分割レポートと通常のPower BIレポートの違いと使い分けの基準

どちらで作るかを最初に決めないと、印刷できない分析レポートを作り直すことになります。

印刷すると切れる通常レポートと、全行を複数ページに出す帳票の違い

ページ分割されたレポートとはの説明によると、通常のPower BIレポートに置いた表は見えている行だけが印刷やPDFに出力され、残りはスクロールバーの向こうに隠れたままです。ページ分割レポートでは、同じ表が全行を出し切るまで必要なだけページを増やします。請求書1枚を1ページにし、ヘッダーとフッターを毎ページ繰り返すといった、ページ単位の正確なレイアウトも指定できます。

もう1つの違いはデータの持ち方です。ページ分割レポートには通常レポートのようなデータモデルがなく、レポートの中にデータソースとデータセット(クエリ)を埋め込みます。保存するのはデータを含まないレポート定義(.rdlファイル)で、実行するたびにクエリを流して最新のデータで帳票を組み立てます。

Microsoftのガイダンスが示す、ページ分割レポートを選ぶ条件の一覧

どのようなときにページ分割されたレポートを使用するかのガイダンスでは、ページ分割レポートを運用レポート向き、通常レポートを探索と対話の分析向きと位置付けています。判断に使う観点を表にまとめました。

観点 ページ分割レポート 通常のPower BIレポート
作成ツール Power BI Report Builder Power BI Desktop
表の行が多いとき 全行を複数ページに出力 スクロールで表示・印刷は表示分のみ
データの取り方 SQL・ストアドなどのネイティブクエリ Power Queryで取り込んだモデル
出力形式 PDF・Excel・Word・CSV・XMLなど 画面操作が中心
向く用途 請求書・明細・定型の月次資料 傾向の把握・ドリルダウン分析

ガイダンスには、カスケード型パラメーター、サブレポート、差し込み印刷、VB.NETの式による動的なレイアウトなど、通常レポートでは作れない機能も並んでいます。「印刷するかPDFで渡すことが分かっている」なら、迷わずページ分割レポートを選びます。

Power BI Report Builderのインストールと発行に必要なライセンス条件

ツール自体は無料ですが、作ったレポートを誰と共有できるかはライセンスで決まります。

ダウンロードセンターからのインストールとWindowsの動作要件

Report BuilderはMicrosoftダウンロードセンターから入手します。2026年11月時点で配布されている版は15.7系(2026年10月15日公開)のインストーラー(PowerBIReportBuilder.msi)で、対応OSはWindows 10・11とWindows Server 2016以降、前提として.NET Framework 4.7.2が必要です。macOS版はありません。Power BI Report Builderの概要ページでは、Azure Virtual DesktopとWindows 365は完全サポート、Citrixなどの仮想アプリとしての配信はサポート外とされています。

無料ライセンス・Pro・PPUで変わる発行先とワークスペースのロール

概要ページによると、ページ分割レポート(.rdl)のライセンス要件はPower BIレポート(.pbix)と同じです。発行先ごとの条件は次のとおりです。

  • 無料ライセンスでは、自分専用のマイワークスペースにだけ発行できる
  • ProかPremium Per User(PPU)のライセンスがあれば、共有のワークスペースへ発行できる
  • 共有のワークスペースへ発行するには、そのワークスペースで共同作成者以上のロールが要る
  • セマンティックモデルをデータソースにする場合は、そのモデルのビルドアクセス許可が要る

つまり、画面で見る通常のレポートを共有できている組織なら、追加のライセンスなしでページ分割レポートも発行と共有ができます。ワークスペースのロールとライセンスの組み合わせはPower BI DesktopとServiceの違いと発行・更新の設定で詳しく整理しています。

売上明細の帳票をウィザードとSQLクエリで作成する具体的な手順

ここではMicrosoft Learnのチュートリアルと同じAzure SQL Databaseのサンプル(SalesLTスキーマ)を使い、期間を指定して出す売上明細を作ります。

テーブルウィザードでデータソースとデータセットを埋め込む操作

  1. Report Builderを起動し、[作業の開始]で[新しいレポート]>[テーブル または マトリックス ウィザード]を選ぶ
  2. [データセットの選択]で[データセットを作成する]>[次へ]、[データ ソースへの接続の選択]で[新規]を押す
  3. [データ ソースのプロパティ]で名前を付け、接続の種類に[Microsoft Azure SQL Database]を選び、[構築]からサーバー名・認証・データベースを指定して[接続テスト]を通す
  4. [クエリのデザイン]で次の章のSQLを入力し、[クエリの実行]で結果を確かめる
  5. [フィールドの配置]で会社名と受注番号を[行グループ]、金額を[値]へドラッグし、[グループの展開/折りたたみ]のチェックを外して[完了]を押す

手順3で作った接続は「(このレポートで)」と表示され、.rdlファイルの中に埋め込まれます。Power BIサービスのページ分割レポートは、SSRSの共有データソース(.rds)や共有データセット(.rsd)に対応していないため、レポートごとに埋め込む形が基本です。

@付きのクエリパラメーターで売上明細の期間を絞り込むSQLの書き方

帳票は「先月分だけ」「指定した取引先だけ」と条件を変えて出すことが多いので、クエリに@付きのパラメーターを書きます。Report Builderは、クエリ内の@StartDateのような名前から同名のレポートパラメーターを作り、実行時に入力欄を表示します。

SELECT c.CompanyName,
       h.SalesOrderNumber,
       h.OrderDate,
       d.OrderQty,
       d.LineTotal
FROM   SalesLT.SalesOrderHeader AS h
JOIN   SalesLT.Customer AS c ON c.CustomerID = h.CustomerID
JOIN   SalesLT.SalesOrderDetail AS d ON d.SalesOrderID = h.SalesOrderID
WHERE  h.OrderDate >= @StartDate
  AND  h.OrderDate <  @EndDate
ORDER BY c.CompanyName, h.SalesOrderNumber;

終了日を「未満」で比べているのは、時刻付きの列でも月末日の分を取りこぼさないためです。レポートパラメーターのデータ型は[日付/時刻]に変えておきます。概要ページの制限事項によると、1つのパラメーターに[複数の値を許可する]と[NULL値を許可する]は同時に設定できないため、複数選択にするなら[空白値を許可する]と組み合わせます。

帳票のページ番号と見出しの繰り返しを式とプロパティで設定する手順

ウィザードで作った直後の表は、2ページ目以降に列見出しがなく、印刷すると何の数字か分かりません。

印刷する帳票の用紙サイズ・余白とページ番号のフッターを設定する方法

デザイン画面の外側の灰色の部分を選ぶと、[プロパティ]ペインに表示されるのは、レポート全体のプロパティです。[余白]で左右を詰め、本文の幅が「用紙幅-左右の余白」に収まるよう表の列幅を調整します。本文が用紙からはみ出すと、右端の列だけが別ページに印刷されます。

ページ番号は、[レポート データ]ペインの[組み込みフィールド]からフッターへドラッグするか、テキストボックスに次の式を書きます。VB.NETの式なので、文字列の連結は&です。

=Globals!PageNumber & " / " & Globals!TotalPages
=Format(Fields!OrderDate.Value, "yyyy/MM/dd")
=IIF(Fields!LineTotal.Value < 0, "Red", "Black")

2行目は日付の表示形式、3行目は[Color]プロパティに書いて赤黒の色分けにする例です。式はテキストボックスを右クリックして[式]から入力します。

RepeatOnNewPageで列見出しを全ページに出すTablixの設定

チュートリアルの手順では、[グループ化]ペイン右端の矢印から[詳細設定モード]に切り替え、[行グループ]の一番上にある[(静的)]を選びます。[プロパティ]ペインに出る[Tablixメンバー]の設定のうち、[KeepWithGroup]を[後]、[RepeatOnNewPage]を[True]にすると、各ページの先頭に列見出しを繰り返し表示する設定です。最後に[実行]>[印刷レイアウト]で、ページの区切りと見出しを確かめてから保存します。

Power BIサービスへ発行してデータソースの資格情報を設定する手順

.rdlファイルを発行しただけでは、サービス上でデータを取れないことがあります。

ワークスペースへの初回アップロードとデータソースの資格情報の編集で詰まる点

発行は、Report Builderからレポート定義をサービスへ保存するか、サービスのワークスペースで.rdlファイルをアップロードして行います。Azure SQL Databaseを使うレポートを初めてアップロードしたワークスペースでは、資格情報の入力が必要です。入れずに開くとエラーになるため、レポートの[…]>[管理]>[資格情報を編集]で認証方法を設定します。サポートされているデータソースのページでは、Azure SQL Databaseの認証方法として基本・SSO・OAuth2が挙げられています。

行レベルセキュリティ(RLS)で見る人ごとに行を絞るなら、認証方法として選ぶ必要があるのはSSOです。同じページに、SSOを選ばない限りページ分割レポートのRLSは機能しないと書かれています。RLSの考え方はRLSの仕組みとDB別の設定例で解説しています。

社内のSQL Serverやセマンティックモデルにつなぐときの制約

社内のSQL Server・Oracle・Teradata・ODBCのデータは、アップロード後にゲートウェイ経由の接続へ切り替えます。このとき発行者自身がゲートウェイの管理者権限を持っている必要がある点が、通常のレポートと違います。ゲートウェイの種類の選び方は発行から更新・ゲートウェイ設定までの解説を参照してください。

既存のPower BIセマンティックモデルをデータソースにすると、Desktopで作ったメジャーを帳票でもそのまま使えます。ただしDirectQueryのモデルに対するクエリには10分の固定タイムアウトがあり、それより重い帳票ではXMLAエンドポイント経由への切り替えが必要です。モデル側のメジャーの書き方はPower BIのDAX入門で扱っています。

URLパラメーターとREST APIでPDF出力と定期配信を自動化する方法

毎月「パラメーターを入れて、PDFに出して、メールに添付する」作業は、サービスの機能とAPIで人手を外せます。

rp:とrdl:の付いたURLでパラメーターと出力形式を指定する書き方

ページ分割されたレポートのURLパラメーターを使うと、レポートのURLにパラメーターと出力形式を付けて渡せます。rp:がレポートパラメーター(名前の大文字と小文字を区別)、rdl:が表示と出力の指定です。

https://app.powerbi.com/groups/me/rdlreports/{レポートID}?rp:StartDate=2026-10-01&rp:EndDate=2026-11-01&rdl:format=PDF

rdl:formatにはPDFのほか、EXCELOPENXML(Excel)・WORDOPENXML(Word)・CSV・ACCESSIBLEPDFなどを指定できます。社内ポータルに「先月分の明細をPDFで開く」リンクを置くだけなら、これで足ります。開く人ごとにライセンスとアクセス権が要る点は、画面で見る場合と同じです。

決まった相手へ定期的に送るだけなら、サービスのメールサブスクリプションも使えます。頻度は毎日・毎週・1時間ごとから選べ、レポート全体のPDFが添付されます。

exportToFile APIでPDFを生成して保存するPythonのコード例

基幹システムの処理の後に帳票を作って保存したい場合は、REST APIのExport To File In Groupでエクスポートジョブを起動し、Get Export To File Status In Groupで完了を待ってから、Get File Of Export To File In Groupでファイルを受け取ります。スコープはReport.Read.All以上とDataset.Read.All以上です。トークンとIDを環境変数に入れて実行します。

export PBI_TOKEN=$(az account get-access-token --resource https://analysis.windows.net/powerbi/api --query accessToken -o tsv)
export WS_ID=ワークスペースID
export REPORT_ID=ページ分割レポートのID
python3 export_pdf.py

次のPythonは標準ライブラリだけで動き、先ほどの売上明細を2026年10月分のPDFとして保存します。

import json, os, time, urllib.request

BASE = ("https://api.powerbi.com/v1.0/myorg/groups/" + os.environ["WS_ID"]
        + "/reports/" + os.environ["REPORT_ID"])
HDR = {"Authorization": "Bearer " + os.environ["PBI_TOKEN"],
       "Content-Type": "application/json"}


def call(method, path, body=None):
    data = json.dumps(body).encode() if body is not None else None
    req = urllib.request.Request(BASE + path, data=data, headers=HDR, method=method)
    return urllib.request.urlopen(req, timeout=60)


body = {
    "format": "PDF",
    "paginatedReportConfiguration": {
        "parameterValues": [
            {"name": "StartDate", "value": "2026-10-01"},
            {"name": "EndDate", "value": "2026-11-01"},
        ]
    },
}
with call("POST", "/ExportTo", body) as r:              # Export To File In Group
    export_id = json.load(r)["id"]

deadline = time.time() + 60 * 60                         # エクスポートは60分が上限
while True:
    with call("GET", f"/exports/{export_id}") as r:   # Get Export To File Status In Group
        st = json.load(r)
        wait = int(r.headers.get("Retry-After") or 5)
    if st["status"] in ("Succeeded", "Failed") or time.time() > deadline:
        break
    time.sleep(wait)

if st["status"] != "Succeeded":
    raise SystemExit("エクスポート失敗: " + json.dumps(st, ensure_ascii=False))
with call("GET", f"/exports/{export_id}/file") as r, open("sales_202610.pdf", "wb") as f:
    f.write(r.read())                                    # Get File Of Export To File In Group
print("保存しました:", st["reportName"], st["resourceFileExtension"])

パラメーター名はレポート側と大文字小文字まで合わせます。ステータスの確認間隔は、応答のRetry-Afterヘッダーの秒数に従います。

exportToFileが動く容量の条件と、要求数・時間の上限

ページ分割されたレポートのエクスポートのページには、運用前に確かめるべき条件が並んでいます。

  • レポートはPremium・Embedded・Fabricの容量に載ったワークスペースに置く(Proのワークスペースでは使えない)
  • PPUは制限付きのサポートで、5分間に1要求まで。超えると429エラーになる
  • 同時に処理できるレンダリング要求は最大250件
  • 1回のエクスポートは60分が上限で、取得用のURLは24時間有効

取引先ごとの請求書を数百件出すような処理は、要求をまとめて投げずに時間をずらして流します。アプリ画面に帳票を埋め込んで見せる場合はPower BI Embeddedの実装手順、データの更新や発行の自動化はPower BIのAPI連携の範囲です。

ページ分割レポートを採用する場面と、通常レポートで足りる場面の判断

帳票の要望が出るたびにページ分割レポートを増やすと、保守する.rdlファイルが積み上がります。

Report Builderで作るべき帳票と、作らずに済ませてよい条件

ページ分割レポートを採用するのは、行数が月によって変わる明細を全件出す帳票、取引先に渡す請求書や納品書のように体裁が決まった書類、役員会で配る定型のA4資料です。SQL Server Reporting Servicesで作った既存の帳票がある場合も、SSRS 2016以降の.rdlはPower BIサービスと互換性があるため、作り直さずに移せる候補になります。

反対に、見る人が画面で絞り込んで傾向を追う用途なら、通常のPower BIレポートで足ります。画面を見せるだけの資料を、印刷を理由にページ分割レポートで二重に作ることはしません。帳票の体裁がHTMLで十分なら、WeasyPrintでHTMLから帳票PDFを作る方法のようにアプリ側で生成する選択肢もあります。帳票を電子化して保存する順序と法令の要件は帳票電子化の進め方にまとめています。

帳票の自動出力と配信の設計を社内で進める範囲と外部に任せる範囲の判断基準

1本の帳票を作って発行するところまでは、社内のPower BI担当で十分に進められます。詰まるのは、ゲートウェイ経由のデータソースの権限、RLSとSSOの設定、exportToFileを動かす容量の選定、基幹システムの締め処理と出力のタイミングを合わせる部分です。部門別の使い分けの例はPower BIの導入例と単体で足りる範囲で紹介しています。

帳票の自動出力や配信まで含めて設計し直す段階になったら、BIツール導入支援で現在の帳票とデータの流れを確認したうえで、Power BIで作る範囲と別の仕組みに任せる範囲を切り分けられます。

Power BI Report Builderについてよくある質問

Report Builderとページ分割レポートで寄せられやすい質問に、Microsoft Learnの記述を根拠に答えます。

Power BI Report Builderは無料で使えますか?

ツールはライセンスがなくても無料でダウンロードして使えます。無料ライセンスで発行できるのは自分専用のマイワークスペースだけで、他の人と共有するワークスペースへ発行するにはProかPremium Per Userのライセンスと、共同作成者以上のロールが必要です。

Power BI Desktopで印刷用の帳票は作れませんか?

Desktopではページ分割レポートを作れません。Desktopの表は画面に見えている行だけが印刷・PDFに出力されるため、全行を複数ページに出したい帳票はReport Builderで作ります。データはDesktopで作ったセマンティックモデルを共有して使えます。

SSRSで作った.rdlファイルはそのまま使えますか?

SSRS 2016以降とPower BI Report Serverで作ったページ分割レポートは、Power BIサービスと互換性があります。ただし共有データソース・共有データセット、ドキュメントマップのサービス上での表示、SSRS形式のデータドリブンサブスクリプションには対応していないため、これらを使っている帳票は埋め込みのデータソースへの置き換えなどの手直しが要ります。

ページ分割レポートをダッシュボードにピン留めできますか?

Power BIサービスでは、ページ分割レポートのページやビジュアルをダッシュボードにピン留めできません。ダッシュボードには通常のPower BIレポートからピン留めし、詳細の明細はページ分割レポートへのリンクで開く構成にします。

MacでPower BI Report Builderは使えますか?

動作対象はWindows 10・11とWindows Server 2016以降で、macOS版はありません。Macで作業するなら、Microsoftが完全サポートとしているAzure Virtual DesktopかWindows 365でWindows環境を用意します。発行済みのレポートの閲覧とエクスポートは、ブラウザのPower BIサービスからできます。

関連記事

お気に入りに入れた記事の一覧

一創の公式 SNS

X では毎朝の新着記事と IT ニュースの速報を、YouTube・TikTok・Instagram・LinkedIn・Facebook では記事の解説動画を配信しています。

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.11.06 テックブログ ドコモ不正アクセス:最大29.5万件の流出項目と見舞金、My docomo停止の経過と偽連絡の見分け方
  2. 2026.11.03 テックブログ ネットマイル不正アクセスで最大549万人:対象確認と退会会員データを消す実装
  3. 2026.11.06 テックブログ あいおいニッセイ同和の不正アクセス:44.4万件の漏えい項目と窓口、止まった手続きの代わり
  4. 2026.11.06 テックブログ アイリスオーヤマ情報漏洩:アイリスプラザ770万人分の対象項目と本物の連絡の見分け方
  5. 2026.07.09 テックブログ Muse Imageとは?Metaの画像生成AIの使い方・API料金(1枚0.01ドル)と日本での提供状況【2026年10月】

RELATED POSTS 関連記事

目次