ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド
11gリリース1(11.1.1)
B66712-02
  目次へ移動
目次
索引へ移動
索引

前
前へ
 
次
 

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

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

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

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

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

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

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

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

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

前提条件

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

  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>

表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: サーバー名、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は使用しません)


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

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

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

図7-3 値リストの定義

値リストの定義

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

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

図7-4の説明が続きます
「図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を動的に作成するために取得されます。

この例の配信データ・セットを生成する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

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";

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