プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド
12c (12.2.1)
E70035-01
  目次へ移動
目次

前
前へ
 
次
 

7 バースティング定義の追加

この章では、BI Publisherのバースティング・レポートのサポートと、データ・モデルにバースティング定義を設定し、データを分割して複数の受信者にレポートを配信する方法について説明します。

この章の内容は次のとおりです。

7.1 バースティングについて

バースティングとは、データを複数のブロックに分割し、それぞれのブロックのドキュメントを生成して、そのドキュメントを1つ以上の宛先に配信するプロセスです。レポートのデータは、問合せを1回実行し、その後キー値に基づいてデータを分割することにより生成されます。データのブロックごとに個別のドキュメントが生成され、配信されます。

BI Publisherのバースティング機能を使用すると、データ・モデルの要素に基づいて1つのレポートを分割した後、データ・モデルの2番目の要素に基づいてレポートを配信できます。レポートの各分割セグメントには、配信要素に基づいて、異なるテンプレート、出力フォーマット、配信方法およびロケールを適用できます。実装の例は次のとおりです。

  • 顧客固有のレイアウトおよび配信設定に基づいた請求書の生成および配信

  • 全コスト・センターのマスター・レポートを生成し、個別のコスト・センター・レポートを該当する管理者に分割する会計報告処理

  • 1回のデータ抽出を基に電子メールで配信される全従業員の給与明細の生成

7.2 バースティング定義とは

バースティング定義は、データ・モデルのコンポーネントです。データ・モデルのデータ・セットを定義すると、1つ以上のバースティング定義を設定できます。バースティング定義を設定する場合は、次の項目を定義します。

  • 分割要素は、データを分割する方法を決定する、データの要素です。たとえば、請求書のバッチを請求書ごとに分割するには、CUSTOMER_IDという要素を使用できます。データ・セットはこの要素によってソートまたはグループ化される必要があります。

  • 配信元要素は、書式設定および配信オプションの適用方法を決定するデータの要素です。請求書の例では、通常、各請求書の配信基準が顧客ごとに決定されるため、「配信元」要素をCUSTOMER_IDにすることができます。

  • 配信問合せは、BI Publisherに対して配信XMLデータ・ファイルを構成するように定義するSQL問合せです。問合せは書式設定と配信の詳細を返す必要があります。

7.3 バースティング定義のデータ・モデルへの追加

前提条件

  • このデータ・モデルのデータ・セットが定義済であること。

  • データ・セットは、バースティング定義でデータを分割する要素によって、ソートまたはグループ化されること。

  • BI Publisherが配信および書式設定情報を使用できること。情報は実行時に、次に示す方法のいずれかでBI Publisherに提供できます。

    • 情報が、BI Publisherが使用できるデータベース表に格納されること(動的な配信定義の場合)。

    • 情報が配信SQLでハードコードされていること(静的な配信定義の場合)。

  • このデータ・モデルのレポート定義が作成済であり、レポート・データに適用されるレイアウトを含んでいること。

バースティング定義を追加するには:

  1. データ・モデル・エディタのコンポーネント・ペインで、「バースティング」をクリックします。

  2. 「バースティング定義」表で、「新規バースティングの作成」ボタンをクリックします。

  3. このバースティング定義用に、次の項目を入力します。

    名前 - たとえば、Burst to File

    タイプ - 現在サポートされているタイプは「SQL問合せ」のみ

    データソース: 配信情報含むデータソースを選択

    図7-1は、バースティング定義を示しています。

    図7-1 バースティング定義

    バースティング定義
  4. 下部領域で、このバースティング定義用に次の項目を入力します。

    分割 - データ・セットからの要素のうち、どれによってデータを分割するかを選択します。

    配信元 - データ・セットからの要素のうち、どれによってデータの書式を設定して配信するかを選択します。


    注意:

    分割要素と配信元要素が、データベースにCLOBとして格納されるXMLドキュメントに属する場合は、「分割」フィールドと「配信元」フィールドに、完全なXPATHを入力する必要があります。詳細は、第7.6項「CLOB/XMLデータ・セットの分割要素および配信元要素の定義」を参照してください。

    SQL問合せ - 問合せを入力して、配信XMLを構成します。バースティング問合せの構成の詳細は、第7.4項「配信XMLの問合せの定義」を参照してください。図7-2に、バースティング問合せの例を示します。

    図7-2 バースティング問合せの例

    バースティング問合せの例

7.4 配信XMLの問合せの定義

バースティング問合せは、BI Publisherにレポートの書式を設定して配信するために必要な情報を提供するように定義するSQL問合せです。BI Publisherは、バースティング問合せの結果を使用して配信XMLを作成します。

BI Publisherのバースティング・エンジンは配信XMLを、各配信元要素のマッピング表として使用します。BI Publisherが必要とする配信XMLの構造を、次に示します。

<ROWSET>
 <ROW>
  <KEY></KEY> 
  <TEMPLATE></TEMPLATE>    
  <LOCALE></LOCALE> 
  <OUTPUT_FORMAT></OUTPUT_FORMAT> 
  <DEL_CHANNEL></DEL_CHANNEL>
  <TIMEZONE></TIMEZONE>
  <CALENDAR></CALENDAR> 
  <OUTPUT_NAME></OUTPUT_NAME>
  <SAVE_OUTPUT></SAVE_OUTPUT>
  <PARAMETER1></PARAMETER1> 
  <PARAMETER2></PARAMETER2> 
  <PARAMETER3></PARAMETER3> 
  <PARAMETER4></PARAMETER4> 
  <PARAMETER5></PARAMETER5> 
  <PARAMETER6></PARAMETER6> 
  <PARAMETER7></PARAMETER7> 
  <PARAMETER8></PARAMETER8> 
  <PARAMETER9></PARAMETER9> 
  <PARAMETER10></PARAMETER10>
  </ROW>
</ROWSET>
  • KEY - 配信キー。配信元要素と一致する必要があります。バースト・エンジンは、このキーを使用して、配信基準をバースト・データの特定のセクションにリンクします。必ずselect文で、KEYの前後に二重引用符を使用します。たとえば、次のようにします。

    select d.department_name as "KEY",
    
  • TEMPLATE - 適用するレイアウトの名前。値は、テンプレート・ファイル名(たとえば、invoice.rtfなど)ではなく、レイアウト名(たとえば、Customer Invoice)になります。

  • LOCALE - en-USなどのテンプレートのロケール。

  • OUTPUT_FORMAT - 出力形式。各タイプの説明は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』の出力形式の選択に関する項を参照してください。表7-1に、バースティング問合せに入力する有効値を示します。

    表7-1 OUTPUT_FORMATに入力する値

    出力形式 バースティング問合せに入力する値 この出力形式を生成できるテンプレートのタイプ

    Interactive

    該当なし

    バースティングではサポートされません

    HTML

    html

    BI Publisher、RTF、XSLスタイルシート(FO)

    PDF

    pdf

    BI Publisher、RTF、PDF、Flash、XSLスタイルシート(FO)

    RTF

    rtf

    BI Publisher、RTF、XSLスタイルシート(FO)

    Excel (mhtml)

    excel

    BI Publisher、RTF、Excel、XSLスタイルシート(FO)

    Excel (html)

    excel2000

    BI Publisher、RTF、Excel、XSLスタイルシート(FO)

    Excel (*.xlsx)

    xlsx

    BI Publisher、RTF、XSLスタイルシート(FO)

    PowerPoint (mhtml)

    ppt

    BI Publisher、RTF、XSLスタイルシート(FO)

    PowerPoint (.*pptx)

    pptx

    BI Publisher、RTF、XSLスタイルシート(FO)

    MHTML

    mhtml

    BI Publisher、RTF、Flash、XSLスタイルシート(FO)

    PDF/A

    pdfa

    BI Publisher、RTF、XSLスタイルシート(FO)

    PDF/X

    pdfx

    BI Publisher、RTF、XSLスタイルシート(FO)

    圧縮PDF

    pdfz

    BI Publisher、RTF、PDF、XSLスタイルシート(FO)

    FO形式XML

    xslfo

    BI Publisher、RTF、XSLスタイルシート(FO)

    データ(XML)

    xml

    BI Publisher、RTF、PDF、Excel、Flash、XSLスタイルシート(FO)、Etext、XSLスタイルシート(HTML XML/テキスト)

    データ(CSV)

    csv

    BI Publisher、RTF、PDF、Excel、Flash、XSLスタイルシート(FO)、XSLスタイルシート(HTML XML/テキスト)、Etext

    XML

    txml

    XSLスタイルシート(HTML XML/テキスト)

    テキスト

    text

    XSLスタイルシート(HTML XML/テキスト)、Etext

    Flash

    flash

    Flash


  • SAVE_OUTPUT - 出力を表示したり「レポート・ジョブ履歴」ページからダウンロードすることができるBI Publisherの履歴表に、出力ドキュメントを保存するかどうか示します。

    有効な値はtrue(デフォルト)およびfalseです。このプロパティを設定しない場合は、出力が保存されます。

  • DEL_CHANNEL - 配信方法。有効な値は次のとおりです。

    • EMAIL

    • FAX

    • FILE

    • FTP

    • PRINT

    • WEBDAV

    • CONTENT

  • TIMEZONE - レポートに使用するタイムゾーン。値はJava形式(America/Los_Angelesなど)にする必要があります。タイムゾーンが提供されない場合は、システム・デフォルトのタイムゾーンを使用してレポートが生成されます。

  • CALENDAR - レポートに使用するカレンダ。有効な値は次のとおりです。

    • GREGORIAN

    • ARABIC_HIJRAH

    • ENGLISH_HIJRAH

    • JAPANESE_IMPERIAL

    • THAI_BUDDHA

    • ROC_OFFICIAL (Taiwan)

    提供されない場合は、値GREGORIANが使用されます。

  • OUTPUT_NAME - レポート・ジョブ履歴で出力ファイルに割り当てる名前。

  • チャネル別の配信パラメータ - パラメータに必要な値は、選択した配信方法によって異なります。方法ごとのパラメータ値のマッピングを、表7-2に示します。すべての配信チャネルが、すべてのパラメータを使用するわけではありません。

表7-2 方法別のパラメータ値のマッピング

デリバリ・チャネル PARAMETERの値

電子メール

PARAMETER1: 電子メール・アドレス

PARAMETER2: CC

PARAMETER3: 送信元

PARAMETER4: 件名

PARAMETER5:メッセージ本文

PARAMETER6: 添付の値(trueまたはfalse)。出力形式がPDFの場合、PDFを電子メールに添付するには、このパラメータをtrueに設定する必要があります。

PARAMETER7: 返信先

PARAMETER8: Bcc(PARAMETER 9~10は使用しません)

プリンタ

PARAMETER1: プリンタ・グループ

PARAMETER2: プリンタ名またはCUPS上のプリンタのプリンタURI(例: ipp://myserver.com:631/printers/printer1)

PARAMETER3: 印刷部数

PARAMETER4: 面。有効な値は次のとおりです。

  • d_single_sidedは片面

  • d_double_sided_lは両面/横送り

  • d_double_sided_sは回転/縦送り

パラメータを指定しない場合は、片面が使用されます。

PARAMETER5: トレイ。有効な値は次のとおりです。

  • t1はトレイ1

  • t2はトレイ2

  • t3はトレイ3

指定しない場合は、プリンタのデフォルトが使用されます。

PARAMETER6: 印刷範囲。たとえば、3は3ページのみを印刷し、2-5は2ページから5ページまでを印刷します。1,3-5は1ページと、3ページから5ページまでを印刷します。

(PARAMETER 7~10は使用しません)

FAX

PARAMETER1: FAXサーバー名

PARAMETER2: FAX番号

(PARAMETER 3~10は使用しません)

WebDAV

PARAMETER1: サーバー名 P

PARAMETER2: ユーザー名

PARAMETER3: パスワード

PARAMETER4: リモート・ディレクトリ

PARAMETER5: リモート・ファイル名

PARAMETER6: 認可タイプ。値はbasicまたはdigest

(PARAMETER 7~10は使用しません)

ファイル

PARAMETER1: ディレクトリ

PARAMETER2: ファイル名

(PARAMETER 3~10は使用しません)

FTPおよびSFTP

PARAMETER1: サーバー名

PARAMETER2: ユーザー名

PARAMETER3: パスワード

PARAMETER4: リモート・ディレクトリ

PARAMETER5: リモート・ファイル名

PARAMETER6: 保護(この値をtrueに設定するとSecure FTPが有効化されます)

(PARAMETER 7~10は使用しません)

CONTENT

PARAMETER1: サーバー名

PARAMETER2: セキュリティ・グループ

PARAMETER3: 作成者

PARAMETER4: アカウント (オプション)

PARAMETER5: タイトル

PARAMETER6: プライマリ・ファイル (またはファイル名)

PARAMETER7: コンテンツID

PARAMETER8: コメント (オプション)

PARAMETER9: メタデータを含める


7.5 バースティング問合せにパラメータを渡す方法

データ・モデルで定義されるパラメータを使用して、バースティングXMLの要素の値を渡すことができます。たとえば、サブミッション時にテンプレートを選択できる必要がある場合に、データ・モデルでパラメータを定義して、問合せで:parameter_name構文を使用できます。次の例では、このようなパラメータのバースティング問合せでの使用事例を示します。

レポート定義にlayout1、layout2およびlayout3の、3つのレイアウトが含まれているとします。サブミッション時には、使用するレイアウト(またはTEMPLATE、バースティング問合せで定義したとおり)を選択します。データ・モデルで、レイアウト名を使用して値リストを定義します。次の図は、このレイアウトの値リストを使用したデータ・モデルを示しています。

図7-3 値リストの定義

値リストの定義

次に、メニュー・タイプのパラメータ(ここでの名前はP1)を作成します。

図7-4 パラメータの定義

パラメータの定義

次の図に示すように、バースティング問合せで、:P1を使用してTEMPLATEフィールドにパラメータ値を渡します。

図7-5 P1パラメータを受け入れるためのバースティング問合せの更新

図7-5については周囲のテキストで説明しています。

7.6 CLOB/XMLデータ・セットの分割要素および配信元要素の定義

バースティング定義に必要な分割要素と配信元要素がデータベースのCLOB列から取得されるデータ・セットに属する場合、BI Publisherは分割リストと配信元リストの要素を提供するために、XMLを解析することができません。したがって、手動でXPathを入力して、取得されたXMLデータ・セットの各要素を見つける必要があります。確実に正しいパスを入力するために、データ・モデル・エディタのXML出力の取得機能を使用して、データ・エンジンにより生成されるXMLを表示します。

たとえば、図7-6に示すサンプルXMLコードは、XMLTEXTと呼ばれるデータベースのCLOB列に格納され、XMLデータ・セットとして抽出されます。

図7-6 CLOBとして格納されたデータのデータ抽出例

CLOBとして格納されたデータのデータ抽出例

この例では、CLOB/XMLデータ・セットの内の要素であるDEPARTMENT_IDに基づいた分割と配信元要素で、バースティング定義を追加します。

バースティング定義を追加する場合、分割リストと配信元リストはXMLTEXT要素の下位の構造を解析できません。したがって、図7-7に示すように、リストにはXMLTEXTノードの下位で使用できる要素が表示されません。

図7-7 最上位ノードのみを表示する分割リスト

最上位ノードのみを表示する分割リスト

DEPARTMENT_ID要素を分割要素として使用するには、図7-8に示すように、XPathを手動でフィールドに入力します。

図7-8 XPathの分割フィールドへの手動入力

XPathの分割フィールドへの手動入力

7.7 バースティング定義の使用に向けたレポートの構成

バースティング定義は単一のデータ・モデルに複数定義できますが、レポートに対して有効にできるのは1つのみです。

レポート・エディタの「レポート・プロパティ」ダイアログでバースティング定義を使用するために、レポートを有効にします。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』のレポート・プロパティの構成に関する項を参照してください。

???

バースティング定義を使用するようにレポートを構成したあと、このレポートのジョブをスケジュールするときには、レポートの書式を設定して配信するために、バースティング定義の使用を選択できます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherユーザーズ・ガイド』のバースティング・ジョブの作成に関する項を参照してください。

???

バースティング定義を使用せず、ユーザー自身の出力と宛先を正規にスケジュールされたレポートとして選択することもできます。

7.8 バースティング問合せのサンプル

次の例は、請求書レポートに基づいています。このレポートはCUSTOMER_IDによって、各顧客の個別の電子メール・アドレスに配信されます。

この例では、各顧客の配信プリファレンスと書式設定プリファレンスが、CUSTOMERSというデータベース表に格納されていると仮定します。CUSTOMERS表には、次の列が含まれています。これらの列は、実行時に配信XMLを動的に作成するために取得されます。

  • CST_TEMPLATE

  • CST_LOCALE

  • CST_FORMAT

  • CST_EMAIL_ADDRESS

CUSTOMER_IDは、KEYとして使用され、出力ファイル名の定義にも使用されます。

この例の配信データ・セットを生成するSQLコードは、次のとおりです。

select distinct
CUSTOMER_ID as "KEY",
CST_TEMPLATE TEMPLATE,
CST_LOCALE LOCALE,
CST_FORMAT OUTPUT_FORMAT,
CUSTOMER_ID OUTPUT_NAME,
'EMAIL' DEL_CHANNEL,
CST_EMAIL_ADDRESS PARAMETER1,
'accounts.receivable@example.com' PARAMETER2,
'bip-collections@example.com' PARAMETER3,
'Your Invoices' PARAMETER4,
'Hi'||CUST_FIRST_NAME||chr(13)|| 'Please find attached your
invoices.' PARAMETER5,
'true' PARAMETER6,
'donotreply@mycompany.com' PARAMETER7
from CUSTOMERS

7.9 配信データソースとして使用する表の作成

既存のデータソースから配信情報を取得することが困難な場合は、配信XMLを作成する問合せに使用するための表を作成することを検討してください。次に例を示します。


重要:

列の別名をサポートしていないJDBCドライバを使用する場合に、バースティング制御表を定義するときには、列名と制御XMLタグ名を完全に同じにする必要があります。たとえば、KEY列にはKEYという名前を大文字で付ける必要があります。PARAMETER1には、parameter1やparam1などではなく、PARAMETER1という名前を付ける必要があります。

CREATE TABLE "XXX"."DELIVERY_CONTROL"
   ( "KEY" NUMBER,
     "TEMPLATE" VARCHAR2(20 BYTE),
     "LOCALE" VARCHAR2(20 BYTE),
     "OUTPUT_FORMAT" VARCHAR2(20 BYTE),
     "DEL_CHANNEL" VARCHAR2(20 BYTE),
     "PARAMETER1" VARCHAR2(100 BYTE),
     "PARAMETER2" VARCHAR2(100 BYTE),
     "PARAMETER3" VARCHAR2(100 BYTE),
     "PARAMETER4" VARCHAR2(100 BYTE),
     "PARAMETER5" VARCHAR2(100 BYTE),
     "PARAMETER6" VARCHAR2(100 BYTE),
     "PARAMETER7" VARCHAR2(100 BYTE),
     "PARAMETER8" VARCHAR2(100 BYTE),
     "PARAMETER9" VARCHAR2(100 BYTE),
     "PARAMETER10" VARCHAR2(100 BYTE),
     "OUTPUT_NAME" VARCHAR2(100 BYTE),
     "SAVE_OUTPUT" VARCHAR2(4 BYTE),
     "TIMEZONE" VARCHAR2(300 BYTE),
     "CALENDAR" VARCHAR2(300 BYTE)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "EXAMPLES";

バースティング配信表を作成する際のヒントを次に示します。

  • 分割データ・セットにDELIVERY_KEY値が含まれていない場合、ドキュメントは配信されることも生成されることもありません。たとえば、前述の例を使用した場合、IDが123の顧客がバースティング配信表に定義されていないときには、この顧客のドキュメントは生成されません。

  • 分割データ・セットで複数のドキュメントを生成したり、複数の宛先に配信できるようにするには、DELIVERY_KEY値を複製して、OUTPUT_FORMATやDEL_CHANNELなどのパラメータのセットを個別に用意します。たとえば、IDが456の顧客が、2つの電子メール・アドレスへの配信を求めているとします。これを実現するには、DELIVERY_KEYとして456を保持し、それぞれが独自の電子メール・アドレスを保持する2つの行を表に挿入します。