Oracle® Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド 12c (12.2.1.4.0) E96100-05 |
|
![]() 前 |
![]() 次 |
バースティングとは、データを複数のブロックに分割し、それぞれのブロックのドキュメントを生成して、そのドキュメントを1つ以上の宛先に配信するプロセスです。
レポートのデータは、問合せを1回実行し、その後キー値に基づいてデータを分割することにより生成されます。データのブロックごとに個別のドキュメントが生成され、配信されます。
Oracle BI Publisherのバースティングを使用すると、データ・モデルの要素に基づいて1つのレポートを分割した後、データ・モデルの2番目の要素に基づいてレポートを配信できます。レポートの各分割セグメントには、配信要素に基づいて、異なるテンプレート、出力フォーマット、配信方法およびロケールを適用できます。実装の例は次のとおりです。
顧客固有のレイアウトおよび配信設定に基づいた請求書の生成および配信
全コスト・センターのマスター・レポートを生成し、個別のコスト・センター・レポートを該当する管理者に分割する会計報告処理
1回のデータ抽出を基に電子メールで配信される全従業員の給与明細の生成
バースティング定義は、データ・モデルのコンポーネントです。データ・モデルのデータ・セットを定義すると、1つ以上のバースティング定義を設定できます。
バースティング定義を設定する場合は、次の項目を定義します。
分割要素は、データを分割する方法を決定する、データの要素です。たとえば、請求書のバッチを請求書ごとに分割するには、CUSTOMER_IDという要素を使用できます。データ・セットはこの要素によってソートまたはグループ化される必要があります。
配信元要素は、書式設定および配信オプションの適用方法を決定するデータの要素です。請求書の例では、通常、各請求書の配信基準が顧客ごとに決定されるため、「配信元」要素をCUSTOMER_IDにすることができます。
配信問合せは、BI Publisherに対して配信XMLデータ・ファイルを構成するように定義するSQL問合せです。問合せは書式設定と配信の詳細を返す必要があります。
バースティング定義表で、新規バースティング定義を、名前、タイプ、データソースおよびその他のプロパティを指定して作成します。
前提条件:
このデータ・モデルのデータ・セットが定義済であること。
データ・セットは、バースティング定義でデータを分割する要素によって、ソートまたはグループ化されること。
Oracle BI Publisherで配信および書式設定の情報を使用できること。次のいずれかの方法で、実行時の情報をBI Publisherに提供できます。
BI Publisherで使用できるデータベース表に情報を格納する(動的な配信定義の場合)。
情報を配信SQLでハードコードする(静的な配信定義の場合)。
このデータ・モデルのレポート定義が作成済であり、レポート・データに適用されるレイアウトを含んでいること。
バースティング定義をデータ・モデルに追加してバースティングをレポートで有効にするには:
顧客への請求書にPDFを添付する必要がある場合があります。バースティングの際に、これらのドキュメントを請求書に添付できるようになりました。
PDF添付はメインのレポートと一緒に、1つのPDFファイルとして受信者に配信されます。添付ドキュメントは個別に埋め込まれず、レポートに付加されます。PDFレポート全体と添付を統合された1つのファイルとして保存する必要がある場合、レポート作成者はバースティング問合せの下にある、「統合出力の有効化」オプションを選択できます。統合出力には、レポートの順次マージと各バーストの添付が含まれます。バースティング・レポート・ジョブのスケジュールを設定するユーザー(コンシューマ・ロールを所有)と管理者は、統合出力をジョブ履歴の詳細ページに表示できます。
バースティング問合せは、レポートの書式を設定して配信するために必要な情報を提供するように定義する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 - 出力形式。次の表に、バースティング問合せに入力する有効値を示します。
出力形式 | バースティング問合せに入力する値 | この出力形式を生成できるテンプレートのタイプ |
---|---|---|
インタラクティブ |
なし |
バースティングではサポートされません |
HTML |
html |
|
|
||
RTF |
rtf |
|
Excel (mhtml) |
excel |
|
Excel (html) |
excel2000 |
|
Excel (*.xlsx) |
xlsx |
|
PowerPoint (mhtml) |
ppt |
|
PowerPoint (.*pptx) |
pptx |
|
MHTML |
mhtml |
|
PDF/A |
pdfa |
|
PDF/X |
pdfx |
|
圧縮PDF |
pdfz |
|
FO形式XML |
xslfo |
|
データ(XML) |
xml |
|
データ(CSV) |
csv |
|
XML |
txml |
XSLスタイルシート(HTML XML/テキスト) |
テキスト |
text |
|
Flash |
flash |
Flash |
SAVE_OUTPUT - 出力を表示したり「レポート・ジョブ履歴」ページからダウンロードすることができるBI Publisherの履歴表に、出力ドキュメントを保存するかどうか示します。
有効な値はtrue(デフォルト)およびfalseです。このプロパティを設定しない場合は、出力が保存されます。
DEL_CHANNEL - 配信方法。有効な値は次のとおりです。
FAX
FILE
FTP
WEBDAV
WCC
ODCS
TIMEZONE - レポートに使用するタイムゾーン。値はJava形式(America/Los_Angelesなど)にする必要があります。タイムゾーンが提供されない場合は、システム・デフォルトのタイムゾーンを使用してレポートが生成されます。
CALENDAR - レポートに使用するカレンダ。有効な値は次のとおりです。
GREGORIAN
ARABIC_HIJRAH
ENGLISH_HIJRAH
JAPANESE_IMPERIAL
THAI_BUDDHA
ROC_OFFICIAL (台湾)
提供されない場合は、値GREGORIANが使用されます。
OUTPUT_NAME - レポート・ジョブ履歴で出力ファイルに割り当てる名前。
チャネル別の配信パラメータ - パラメータに必要な値は、選択した配信方法によって異なります。方法ごとのパラメータ値のマッピングを、次の表に示します。すべての配信チャネルが、すべてのパラメータを使用するわけではありません。
配信チャネル | PARAMETERの値 |
---|---|
電子メール |
PARAMETER1: 電子メール・アドレス PARAMETER2: CC PARAMETER3: 送信元 PARAMETER4: 件名 PARAMETER5: メッセージ本文 PARAMETER6: 添付の値(trueまたはfalse)。出力形式がPDFの場合、PDFを電子メールに添付するには、このパラメータをtrueに設定する必要があります。 PARAMETER7: 返信先 PARAMETER8: Bcc(PARAMETER 9~10は使用しません) |
プリンタ |
PARAMETER1: プリンタ・グループ PARAMETER2: プリンタ名またはCUPS上のプリンタのプリンタURI(例: PARAMETER3: 印刷部数 PARAMETER4: 面。有効な値は次のとおりです。
パラメータを指定しない場合は、片面が使用されます。 PARAMETER5: トレイ。有効な値は次のとおりです。
指定しない場合は、プリンタのデフォルトが使用されます。 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: サーバー名 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は使用しません) |
WCC |
PARAMETER1: サーバー名 PARAMETER2: セキュリティ・グループ PARAMETER3: 作成者 PARAMETER4: アカウント (オプション) PARAMETER5: タイトル PARAMETER6: プライマリ・ファイル (またはファイル名) PARAMETER7: コメント(オプション) PARAMETER8: コンテンツID(オプション。コンテンツIDは一意であることが必要です) PARAMETER9: カスタム・メタデータ |
ドキュメント・クラウド・サービス |
PARAMETER1: サーバー名 PARAMETER2: フォルダ名 PARAMETER3: ファイル名 |
データ・モデルで定義されるパラメータを使用して、バースティングXMLの要素の値を渡すことができます。
たとえば、サブミッション時にテンプレートを選択できる必要がある場合に、データ・モデルでパラメータを定義して、問合せで:parameter_name
構文を使用できます。次の例では、このようなパラメータのバースティング問合せでの使用事例を示します。
レポート定義にlayout1、layout2およびlayout3の、3つのレイアウトが含まれているとします。サブミッション時には、使用するレイアウト(またはTEMPLATE、バースティング問合せで定義したとおり)を選択します。データ・モデルで、レイアウト名を使用して値リストを定義します。次の図は、このレイアウトの値リストを使用したデータ・モデルを示しています。
次に、メニュー・タイプのパラメータ(ここでの名前はP1)を作成します。
次の図に示すように、バースティング問合せで、:P1を使用してTEMPLATEフィールドにパラメータ値を渡します。
バースティング定義に必要な分割要素と配信元要素がデータベースのCLOB列から取得されるデータ・セットに属する場合、BI Publisherは分割リストと配信元リストの要素を提供するために、XMLを解析することができません。
したがって、手動でXPathを入力して、取得されたXMLデータ・セットの各要素を見つける必要があります。確実に正しいパスを入力するために、データ・モデル・エディタのXML出力の取得機能を使用して、データ・エンジンにより生成されるXMLを表示します。
たとえば、サンプルXMLコードは次の図に示されているようにXMLTEXTと呼ばれるデータベースのCLOB列に格納され、XMLデータ・セットとして抽出されます。
この例では、CLOB/XMLデータ・セットの内の要素であるDEPARTMENT_IDに基づいた分割と配信元要素で、バースティング定義を追加します。
バースティング定義を追加する場合、分割リストと配信元リストはXMLTEXT要素の下位の構造を解析できません。したがって、次の図に示されているように、リストにはXMLTEXTノードの下位で使用できる要素は表示されません。
DEPARTMENT_ID要素を分割要素として使用するには、次の図に示されているように、XPathを手動でフィールドに入力します。
バースティング定義は単一のデータ・モデルに複数定義できますが、レポートに対して有効にできるのは1つのみです。
バースティング問合せのこの例は、請求書レポートに基づいています。このレポートは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||':'|| 'Please find attached your invoices.' PARAMETER5, 'true' PARAMETER6, 'donotreply@mycompany.com' PARAMETER7 from CUSTOMERS
既存のデータソースから配信情報を取得することが困難な場合は、配信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つの行を表に挿入します。