BI Publisher(データモデル・レイアウト・バースティング・スケジュール)
BI Publisher は、Fusion に組み込まれた帳票ツールです。公式ドキュメントでは Oracle Analytics Publisher とも表記されます。請求書・支払通知・法定帳票のような ピクセル・パーフェクト な帳票と、大量データの出力・配信を得意とします。
カタログ上のオブジェクトは次のとおりです。
| オブジェクト | 拡張子(カタログ上) | 役割 |
|---|---|---|
| データモデル | .xdm |
データセット、パラメータ、値リスト、トリガー、バースト定義を持つ |
| レポート | .xdo |
データモデルを参照し、レイアウトと出力の設定を持つ |
| サブテンプレート | ― | 複数のレイアウトで共有する書式部品(ヘッダー・フッターなど) |
| スタイル・テンプレート | ― | フォントや表の書式を統一するためのテンプレート |
レポートの実行経路は 3 つあります。
1. オンライン実行:カタログでレポートを開く → その場で表示・ダウンロード2. BIP のスケジュール:レポートの Schedule → レポート・ジョブ → 出力・配信(メール・FTP など)3. ESS ジョブ:ESS ジョブ定義(BIPJobType)→ スケジュール済プロセスから実行 → 出力業務ユーザーが日常的に使う帳票は、3 の ESS ジョブにするのが一般的です。スケジュール済プロセスの画面からパラメータを指定して実行でき、権限も ESS の仕組みで管理できます。
データモデル
Section titled “データモデル”データモデルは、データモデル・エディタで作成します。カタログの Create > Data Model を選ぶと開きます。
データセット
Section titled “データセット”データセットは「データをどこからどう取るか」の定義です。主な種類は次のとおりです。
| 種類 | 内容 | Fusion での使いどころ |
|---|---|---|
| SQL Query | データソースに SQL を発行する | 最もよく使う。Fusion のテーブルを直接照会 |
| Analysis | OTBI の分析をデータソースにする | サブジェクト領域で取れる項目を帳票にする |
| Web Service | Web サービスの応答をデータにする | 外部サービスの値を帳票に含める |
| XML/Excel/CSV ファイル | ファイルのデータを使う | テストデータ、補助的なマスタ |
| HTTP(XML フィード) | HTTP で取得した XML を使う | 限定的 |
SQL Query データセットの要点は次のとおりです。
- Standard SQL と Non-standard SQL:通常の
SELECTは Standard SQL を選びます。Standard SQL は OK を押したときに検証され、バインド変数があればパラメータの作成を促されます。プロシージャ呼出し、REF カーソル、無名ブロックなどは Non-standard SQL として扱われ、データ構造タブにメタデータが表示されません。 - バインド変数:
:P_LEDGER_IDのように書くと、同名のパラメータが作成されます。複数値のパラメータはIN (:P_SOURCE)の形で受けます。 - 字句参照(Lexical Reference):
&P_WHEREのように書き、実行時に SQL の一部を置き換えます。公式ドキュメントでは、字句参照は Fusion Applications のアプリケーションに対するクエリでのみサポートされるとされています。 - 条件付きクエリ:
$if{ ... }$elseif{ ... }$else{ ... }$endif$の形で、パラメータの値によって実行する SQL を切り替えられます。 - Query Builder:SQL を書かずにテーブルを選んで結合できますが、1 クエリで選べる列は 60 列までです。複雑な SQL はテキストで直接書きます。
Analysis データセットでは、分析のパラメータと値リストが引き継がれます。分析のフィルタ変数には既定値が必要で、既定値のないプレゼンテーション変数を含む分析はデータソースにできません。グループ・ブレークやデータ・リンクは使えず、Time Out(秒)で取得の待ち時間を指定します。
パラメータと値リスト
Section titled “パラメータと値リスト”パラメータは、実行時に利用者が指定する条件です。値リスト(LOV)は、パラメータの選択肢を SQL または固定値で定義します。
| 項目 | 内容 |
|---|---|
| パラメータの型 | テキスト入力、メニュー(値リストから選択)、日付 など |
| 複数選択 | 複数の値を選ばせる場合に設定。SQL は IN (:P_X) で受ける |
| すべて選択(Can Select All) | 「すべて」を許可する。NULL を渡すか、すべての値を渡すかを選べる |
| 既定値 | 実行時の初期値。全件実行を防ぐために設定する |
| 値リストの種類 | SQL クエリ、固定値 |
「すべて選択」で NULL を渡す設定にした場合は、SQL 側で (:P_SOURCE IS NULL OR source = :P_SOURCE) のように NULL を扱う必要があります(Oracle BI Server に渡す場合も、公式に NULL の扱いへの注意があります)。複数選択との組合せの書き方は BI Publisher の SQL 実践 を参照してください。
イベント・トリガー
Section titled “イベント・トリガー”イベント・トリガーは、データモデルの処理の前後などで、データベースの処理(PL/SQL)を呼び出す仕組みです。データの取得前に実行するもの(Before Data)と、取得後に実行するもの(After Data)、スケジュール実行の条件判定に使うもの(スケジュール・トリガー)があります。
Fusion(SaaS)では、利用者が Fusion のデータベースに独自の PL/SQL パッケージを作成することはできません。そのため、オンプレミスの BI Publisher で行われていた「トリガーで一時表を作る・更新する」といった設計はそのまま持ち込めません。トリガーで実現したい処理は、SQL での集計や、OIC などの外部処理で代替できないかを先に検討します。使える範囲はリリースにより異なるため、公式ドキュメントで確認してください。
バースト定義
Section titled “バースト定義”バースト(Bursting)は、1 回の実行結果を 分割キー(Split By) で分け、宛先ごとに別の出力・配信を行う機能です。仕入先ごとの支払通知、顧客ごとの請求書送付などに使います。
設定手順は次のとおりです。
- データモデル・エディタのコンポーネント・ペインで Bursting を選び、Create Bursting でバースト定義を作ります。
- Name、Type(SQL Query)、配信情報を持つ Data Source を指定します。
- Split By(データを分割する要素)と Deliver By(書式と配信を決める要素)を選びます。
- 配信情報を返す SQL(配信クエリ)を書きます。
- レポートの Report Properties で Enable Bursting を選びます。
配信クエリは、宛先 1 件につき 1 行を返し、次の列名(別名)を使います。
| 列 | 内容 |
|---|---|
KEY |
Deliver By の要素と一致させるキー。"KEY" のように二重引用符で囲む |
TEMPLATE |
適用するレイアウトの 名前(ファイル名ではない) |
LOCALE/OUTPUT_FORMAT |
テンプレートのロケール(例:ja-JP)と出力形式(pdf・xlsx・csv など) |
DEL_CHANNEL |
配信チャネル:EMAIL、FAX、FTP、PRINT、WCC、WEBDAV |
PARAMETER1〜PARAMETER10 |
チャネルごとの設定。メールなら宛先・CC・差出人・件名・本文・添付の有無など |
SELECT v.vendor_id AS "KEY", 'Payment Advice' AS template, -- レイアウト名(例) 'ja-JP' AS locale, 'pdf' AS output_format, 'EMAIL' AS del_channel, v.email_address AS parameter1, -- 宛先 NULL AS parameter2, -- CC 'ap@example.com' AS parameter3, -- 差出人 '支払通知のご案内' AS parameter4, -- 件名 '添付のとおりお支払いします。' AS parameter5, -- 本文 'true' AS parameter6 -- PDF を添付するFROM xx_payment_notice_recipients v -- 架空の名前(説明用)上の例の xx_payment_notice_recipients は説明用の架空の名前です。Fusion では独自のテーブルを作れないため、実際には仕入先のマスタなど既存のテーブルから、データセットと同じキーで宛先を返す SQL を書きます。FTP/SFTP は PARAMETER1 がサーバー名、PARAMETER4 がリモート・ディレクトリ、PARAMETER5 がファイル名、PARAMETER6 が true で SFTP です。管理者が登録した FTP サーバー設定を使う場合は、ユーザー名(PARAMETER2)とパスワード(PARAMETER3)を指定しません。
バーストには次の制約があります。
- データモデルのグローバル関数は、分割後の XML に含められません。
OUTPUT_FORMATに Interactive(対話型表示)は使えません。- 出力ファイル名(
OUTPUT_NAME)は 100 文字未満にします。
レイアウトは、データモデルが返す XML をどの形式で見せるかを決めるテンプレートです。
| 形式 | 作り方 | 向いている帳票 |
|---|---|---|
| RTF テンプレート | Word と Template Builder(アドイン)で作成 | 請求書・通知書など文書型の帳票。最も一般的 |
| Excel テンプレート | Excel ファイルに名前定義とマッピングを設定 | 経理担当が Excel で加工する一覧表 |
| eText テンプレート | 表形式の定義で固定長・区切りファイルを生成 | 銀行・EDI 向けの電子ファイル |
| PDF テンプレート | 既存の PDF フォームのフィールドに値を埋める | 決まった様式の届出書 |
| レイアウト・エディタ | ブラウザ上でドラッグ&ドロップ | 簡単な一覧・対話型表示 |
| XSL スタイルシート | XSL で変換を記述 | XML・HTML など特殊な出力 |
1 つのレポートに複数のレイアウトを登録し、既定のレイアウトと出力形式(PDF・Excel・CSV・テキストなど)を選べます。日本語の帳票では、フォントの埋め込みや改ページ位置を本番相当のデータで確認します。
スケジュールと配信
Section titled “スケジュールと配信”レポート・ジョブ(BIP のスケジュール)
Section titled “レポート・ジョブ(BIP のスケジュール)”カタログでレポートの Schedule を選ぶと、レポート・ジョブを作成できます。
- パラメータの値を指定します。
- 出力(レイアウト、出力形式、ファイル名)を設定します。
- 配信先を追加します(メール、FTP、コンテンツ・サーバー、プリンタなど)。
- 実行頻度(1 回、日次、週次、月次など)を設定します。
- 必要に応じて完了・失敗時の通知を設定して送信します。
ジョブの状態と出力は、レポート・ジョブ履歴で確認します。バースト定義のあるレポートは、スケジュール時にバーストを使うよう指定します。
| 配信先 | 用途 | 注意点 |
|---|---|---|
| メール | 担当者・取引先への送付 | 添付サイズと送信元アドレスの設定を確認 |
| FTP/SFTP | 他システム・銀行へのファイル連携 | 接続先サーバーは管理者が登録する。SFTP を推奨 |
| コンテンツ・サーバー(WebCenter Content) | Fusion の UCM への保存(他プロセスの入力ファイルなど) | セキュリティ・グループとアカウントの指定が必要 |
| WebDAV | WebDAV サーバーへの保存 | 認証方式(basic/digest)を指定 |
| プリンタ | 帳票の印刷 | プリンタ・グループとプリンタを管理者が登録 |
配信先のサーバー(メール・FTP・プリンタなど)は、BI Publisher の管理画面で管理者が登録します。開発環境と本番環境で接続先が違う場合は、移送後に配信先の設定を必ず見直します。
カタログと移送(アーカイブ)
Section titled “カタログと移送(アーカイブ)”BIP のレポートとデータモデルも OTBI と同じカタログに保存されます。
- 保存場所:カスタムのレポート・データモデルは
/Shared/Custom配下(または/Shared直下の独自フォルダ)に保存します。事前定義のフォルダは変更できず、変更してもアップデートで失われます。 - アーカイブ(Archive):フォルダやオブジェクトをアーカイブ・ファイルにまとめてダウンロードします。権限やタイムスタンプを含めるかを選べます。
- アーカイブ解除(Unarchive):移送先の環境でアーカイブ・ファイルをアップロードし、指定したフォルダに展開します。
- 個別のダウンロード/アップロード:レポートやデータモデル単位でのダウンロード・アップロードもできます。少数の修正を移すときに便利です。
開発環境:/Shared/Custom/Financials/GL をアーカイブ → ファイルを構成管理(Git など)に保管 → テスト環境:/Shared/Custom/Financials に Unarchive → 配信先・ESS ジョブ定義・ロールを確認 → 本番環境へ同じ手順で移送ESS ジョブ定義はカタログに含まれないため、カタログの移送とは別に、移送先の環境で作成するか設定データの移行手段で移す必要があります(移行手段は公式ドキュメントで確認してください。設定データの移行の考え方は FSM とセットアップデータの移行 を参照)。
ESS ジョブ化
Section titled “ESS ジョブ化”BIP レポートをスケジュール済プロセスとして実行できるようにする手順です。
- 設定および保守(Setup and Maintenance)で、Manage Enterprise Scheduler Job Definitions and Job Sets for Financial, Supply Chain Management, and Related Applications タスク(Application Extensions などの機能領域)を開きます。
- Manage Job Definitions タブで作成アイコンを押し、次の項目を入力します。
| 項目 | 設定値 |
|---|---|
| Display Name | 利用者がスケジュール済プロセスで選ぶ名前(例:仕訳明細レポート) |
| Name | 英数字のみ(空白・記号不可)。例:XxGlJournalDetail |
| Job Application Name | FscmEss(Financials・SCM の場合) |
| Job Type | BIPJobType(他の型は選ばない) |
| Report ID | Shared Folders 配下のパスを .xdo 付きで指定。例:Custom/Financials/GL/XX_GL_JOURNAL_DETAIL.xdo |
| Default Output Format | 既定の出力形式(PDF・Excel など) |
- Enable submission from Enterprise Manager は 選択しません。Enable submission from Scheduled Processes は選択したままにします。
- Parameters サブタブで、データモデルのパラメータと 同じ順序 でパラメータを作ります(データモデルが
P_START_DATE、P_END_DATE、P_CURRENCYなら、ジョブ側も Start Date、End Date、Currency の順)。 - 日付パラメータは、BIPJobType の場合
yyyy-MM-ddを選び、データモデル側も同じ形式にします。 - 値リストが必要なパラメータは、Manage List of Values Sources タブで作った値リスト・ソースを指定します。
- 保存します。
ジョブ定義を作成すると、ジョブ定義と同じ名前に Run を付けた権限 が自動で作られます。この権限をカスタムロールに付与して、実行できる利用者を限定します。また、ジョブ定義を作成するユーザーの名前に空白が含まれていると、他のユーザーの実行時にエラーになることがあるため注意します。
事前定義レポートのカスタマイズ方法
Section titled “事前定義レポートのカスタマイズ方法”Oracle が提供する事前定義レポート(例:仕訳レポート、試算表、請求書の帳票)を修正したい場合は、次の方針で進めます。
- 元のレポートは変更しない:事前定義のフォルダは変更できず、権限も変えられません。アップデートで上書きされます。
/Shared/Customにコピーする:事前定義と同じフォルダ階層(例:/Shared/Custom/Financials/...)にコピーを作ると、どの事前定義レポートの改修版か分かりやすくなります。カタログには事前定義レポートのコピーを Custom フォルダに作る操作(Customize)が用意されています。- レイアウトだけを変えるなら、データモデルは事前定義のまま参照する:アップデートでデータモデルが改善されても追随できます。
- データモデルを変えるなら、データモデルもコピーする:コピーしたデータモデルをレポートから参照し直します。この場合、アップデートでの改善は自動では反映されません。
- ESS ジョブとの関係を確認する:事前定義のスケジュール済プロセスから実行したときに、元のレポートとカスタム版のどちらが使われるかを、テスト環境で必ず確認します(挙動の詳細はリリースにより異なる可能性があるため、公式ドキュメントで確認してください)。新しいジョブ定義を作る場合は、Report ID にカスタム版のパスを指定します。
落とし穴とベストプラクティス
Section titled “落とし穴とベストプラクティス”ベストプラクティスは次のとおりです。
- データモデルとレイアウトを分けて設計・レビューする:データモデルは SQL レビュー、レイアウトは業務担当のレビュー、と役割を分けます。
- データモデルは小さく保つ:1 つのデータモデルに多用途を詰め込まず、帳票ごとに必要な列だけを返します。
- 大量出力はスケジュール実行にする:オンライン実行は画面の待ち時間とサイズの制約を受けます。
- 公式のベストプラクティスを確認する:Oracle は SaaS 環境での BI Publisher のベストプラクティスを My Oracle Support(Doc ID 2145444.1「Oracle BI Publisher Best Practices for SaaS Environments」)で公開しています。
- 命名規則を決める:
XX_<モジュール>_<内容>のような接頭辞で、カスタムのレポート・データモデル・ジョブ定義をそろえます。
試験対策ポイント
Section titled “試験対策ポイント”- 対応する試験:GL 模擬テスト の財務レポート関連の分野(BIP は「大量の定型帳票・ピクセル・パーフェクトの帳票」を担うツールとして位置づけられます)。
- BIP レポートは ESS(スケジュール済プロセス)から実行して最新データを出力する、という位置づけを押さえます。
- データモデル(データセット・パラメータ・値リスト・トリガー・バースト定義)とレイアウト(RTF・Excel・eText など)の役割の違いを説明できるようにします。
- ESS ジョブ化のキーワード:BIPJobType、Report ID(
.xdoを含むパス)、パラメータの順序、Run 権限の自動作成。
公式ドキュメント
Section titled “公式ドキュメント”- Create Datasets Using SQL Queries
- Create a Dataset Using an Analysis
- Add a Bursting Definition to Your Data Model
- Define the Query for the Delivery XML
- Designing Pixel-Perfect Reports in Oracle Transactional Business Intelligence
- Creating and Administering Analytics and Reports for Financials(PDF:Set Up Reports as Scheduled Processes を含む)
- Manage Predefined Catalog Permissions
- Overview of Oracle BI Publisher Best Practices for SaaS Environments
本サイトは学習目的で個人が作成した非公式の教材であり、Oracle Corporation およびその関連会社とは関係ありません。内容の正確性は保証しません。最新の仕様・試験範囲は必ず公式ドキュメントと Oracle University の情報で確認してください。
模擬テストの問題は公開されている出題範囲(Exam Topics)と公式ドキュメントをもとに独自に作成したもので、実際の試験問題ではありません。
Oracle、Java、MySQL は Oracle Corporation およびその子会社、関連会社の米国およびその他の国における登録商標です。その他の製品名・会社名は各社の商標です。
© 2026 Fusion ERP 実装ラボ