Oracle® Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド 11gリリース1(11.1.1) B66712-02 |
|
前へ |
次 |
この章では、BI Publisherのバースティング・レポートのサポートと、データ・モデルにバースティング定義を設定し、データを分割して複数の受信者にレポートを配信する方法について説明します。
この章の内容は次のとおりです。
バースティングとは、データを複数のブロックに分割し、それぞれのブロックのドキュメントを生成して、そのドキュメントを1つ以上の宛先に配信するプロセスです。レポートのデータは、問合せを1回実行し、その後キー値に基づいてデータを分割することにより生成されます。データのブロックごとに個別のドキュメントが生成され、配信されます。
BI Publisherのバースティング機能を使用すると、データ・モデルの要素に基づいて1つのレポートを分割した後、データ・モデルの2番目の要素に基づいてレポートを配信できます。レポートの各分割セグメントには、配信要素に基づいて、異なるテンプレート、出力フォーマット、配信方法およびロケールを適用できます。実装の例は次のとおりです。
顧客固有のレイアウトおよび配信設定に基づいた請求書の生成および配信
全コスト・センターのマスター・レポートを生成し、個別のコスト・センター・レポートを該当する管理者に分割する会計報告処理
1回のデータ抽出を基に電子メールで配信される全従業員の給与明細の生成
バースティング定義は、データ・モデルのコンポーネントです。データ・モデルのデータ・セットを定義すると、1つ以上のバースティング定義を設定できます。バースティング定義を設定する場合は、次の項目を定義します。
分割要素は、データを分割する方法を決定する、データの要素です。たとえば、請求書のバッチを請求書ごとに分割するには、CUSTOMER_IDという要素を使用できます。データ・セットはこの要素によってソートまたはグループ化される必要があります。
配信元要素は、書式設定および配信オプションの適用方法を決定するデータの要素です。請求書の例では、通常、各請求書の配信基準が顧客ごとに決定されるため、「配信元」要素をCUSTOMER_IDにすることができます。
配信問合せは、BI Publisherに対して配信XMLデータ・ファイルを構成するように定義するSQL問合せです。問合せは書式設定と配信の詳細を返す必要があります。
前提条件
このデータ・モデルのデータ・セットが定義済であること。
データ・セットは、バースティング定義でデータを分割する要素によって、ソートまたはグループ化されること。
BI Publisherが配信および書式設定情報を使用できること。情報は実行時に、次に示す方法のいずれかでBI Publisherに提供できます。
情報が、BI Publisherが使用できるデータベース表に格納されること(動的な配信定義の場合)。
情報が配信SQLでハードコードされていること(静的な配信定義の場合)。
このデータ・モデルのレポート定義が作成済であり、レポート・データに適用されるレイアウトを含んでいること。
バースティング定義を追加するには:
データ・モデル・エディタのコンポーネント・ペインで、「バースティング」をクリックします。
「バースティング定義」表で、「新規バースティングの作成」ボタンをクリックします。
このバースティング定義用に、次の項目を入力します。
名前: たとえば、Burst to File
タイプ: 現在サポートされているタイプは「SQL問合せ」のみ
データソース: 配信情報含むデータソースを選択
図7-1は、バースティング定義を示しています。
下部領域で、このバースティング定義用に次の項目を入力します。
分割: データ・セットからデータの分割に使用する要素を選択します。
配信元: データ・セットからデータをフォーマットして配信するために使用する要素を選択します。
注意: 分割要素と配信元要素が、データベースにCLOBとして格納されるXMLドキュメントに属する場合は、「分割」フィールドと「配信元」フィールドに、完全なXPATHを入力する必要があります。詳細は、第7.6項「CLOB/XMLデータ・セットの分割要素および配信元要素の定義」を参照してください。 |
SQL問合せ: 問合せを入力して、配信XMLを構成します。バースティング問合せの構成の詳細は、第7.4項「配信XMLの問合せの定義」を参照してください。図7-2に、バースティング問合せの例を示します。
バースティング問合せは、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) |
|
|
BI Publisher、RTF、PDF、Flash、XSLスタイルシート(FO) |
RTF |
rtf |
BI Publisher、RTF、XSLスタイルシート(FO) |
Excel |
excel |
BI Publisher、RTF、Excel、XSLスタイルシート(FO) |
Excel2000 |
excel2000 |
BI Publisher、RTF、Excel、XSLスタイルシート(FO) |
Excel2007 |
xslx |
BI Publisher、RTF、XSLスタイルシート(FO) |
PowerPoint |
ppt |
BI Publisher、RTF、XSLスタイルシート(FO) |
PowerPoint 2007 |
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) |
PDFZ |
pdfz |
BI Publisher、RTF、PDF、XSLスタイルシート(FO) |
FO |
xslfo |
BI Publisher、RTF、XSLスタイルシート(FO) |
データ |
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スタイルシート(HTMLXML/テキスト) |
テキスト |
text |
XSLスタイルシート(HTML XML/テキスト)、Etext |
Flash |
flash |
Flash |
SAVE_OUTPUT: 出力を表示したり「レポート・ジョブ履歴」ページからダウンロードすることができるBI Publisherの履歴表に、出力ドキュメントを保存するかどうか示します。
有効な値はtrue(デフォルト)およびfalseです。このプロパティを設定しない場合は、出力が保存されます。
DEL_CHANNEL: 配信方法。有効な値は次のとおりです。
FAX
FILE
FTP
WEBDAV
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(例: 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は使用しません) |
データ・モデルで定義されるパラメータを使用して、バースティングXMLの要素の値を渡すことができます。たとえば、サブミッション時にテンプレートを選択できる必要がある場合に、データ・モデルでパラメータを定義して、問合せで:parameter_name
構文を使用できます。次の例では、このようなパラメータのバースティング問合せでの使用事例を示します。
レポート定義にlayout1、layout2およびlayout3の、3つのレイアウトが含まれているとします。サブミッション時には、使用するレイアウト(またはTEMPLATE、バースティング問合せで定義したとおり)を選択します。データ・モデルで、レイアウト名を使用して値リストを定義します。次の図は、このレイアウトの値リストを使用したデータ・モデルを示しています。
次に、メニュー・タイプのパラメータ(ここでの名前はP1)を作成します。
次の図に示すように、バースティング問合せで、:P1を使用してTEMPLATEフィールドにパラメータ値を渡します。
バースティング定義に必要な分割要素と配信元要素がデータベースのCLOB列から取得されるデータ・セットに属する場合、BI Publisherは分割リストと配信元リストの要素を提供するために、XMLを解析することができません。したがって、手動でXPathを入力して、取得されたXMLデータ・セットの各要素を見つける必要があります。確実に正しいパスを入力するために、データ・モデル・エディタのXML出力の取得機能を使用して、データ・エンジンにより生成されるXMLを表示します。
たとえば、図7-6に示すサンプルXMLコードは、XMLTEXTと呼ばれるデータベースのCLOB列に格納され、XMLデータ・セットとして抽出されます。
この例では、CLOB/XMLデータ・セットの内の要素であるDEPARTMENT_IDに基づいた分割と配信元要素で、バースティング定義を追加します。
バースティング定義を追加する場合、分割リストと配信元リストはXMLTEXT要素の下位の構造を解析できません。したがって、図7-7に示すように、リストにはXMLTEXTノードの下位で使用できる要素が表示されません。
DEPARTMENT_ID要素を分割要素として使用するには、図7-8に示すように、XPathを手動でフィールドに入力します。
バースティング定義は単一のデータ・モデルに複数定義できますが、レポートに対して有効にできるのは1つのみです。
レポート・エディタの「レポート・プロパティ」ダイアログでバースティング定義を使用するために、レポートを有効にします。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』のレポート・プロパティの構成に関する項を参照してください。
バースティング定義を使用するようにレポートを構成したあと、このレポートのジョブをスケジュールするときには、レポートの書式を設定して配信するために、バースティング定義の使用を選択できます。詳細は、Oracle Fusion Middleware Oracle Business Intelligence Publisherユーザーズ・ガイドのバースティング・ジョブの作成に関する項を参照してください。
バースティング定義を使用せず、ユーザー自身の出力と宛先を正規にスケジュールされたレポートとして選択することもできます。
次の例は、請求書レポートに基づいています。このレポートはCUSTOMER_IDによって、各顧客の個別の電子メール・アドレスに配信されます。
この例では、各顧客の配信プリファレンスと書式設定プリファレンスが、CUSTOMERSというデータベース表に格納されていると仮定します。CUSTOMERS表には、次の列が含まれています。これらの列は、実行時に配信XMLを動的に作成するために取得されます。
CST_TEMPLATE
CST_LOCALE
CST_FORMAT
CST_EMAIL_ADDRESS
この例の配信データ・セットを生成するSQLコードは、次のとおりです。
select distinct CUSTOMER_ID as "KEY", CST_TEMPLATE TEMPLATE, CST_LOCALE LOCALE, CST_FORMAT OUTPUT_FORMAT, 'EMAIL' DEL_CHANNEL, CST_EMAIL_ADDRESS PARAMETER1, 'accounts.receivable@oracle.com' PARAMETER2, 'bip-collections@oracle.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
既存のデータソースから配信情報を取得することが困難な場合は、配信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つの行を表に挿入します。