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

前
前へ
次
次へ

2 データ・セットの作成

ここでは、データ・セットの作成、データ・モデルのテストおよびサンプル・データの保存について説明します。

データ・セットの作成の概要

Oracle BI Publisherでは、いくつかのタイプのデータソースからデータを取得できます。

データ・セットを作成するには:

  1. データ・モデル・エディタのコンポーネント・ペインで、「新規データ・セット」をクリックし、使用するデータ・セットのタイプを選択します。

  2. 必須フィールドに入力します。対応する項を参照してください。

既存のデータ・セットの編集

含まれるデータ・セットを編集してデータ・モデルを変更します。

  1. データ・モデル・エディタのコンポーネント・ペインで「データ・セット」をクリックします。このデータ・モデル用のすべてのデータ・セットが、作業ペインに表示されます。
  2. 編集するデータ・セットをクリックします。
  3. 「選択したデータ・セットの編集」をクリックします。データ・セットのダイアログが開きます。データ・セットの各タイプの詳細は、この章内で対応する項を参照してください。
  4. データ・セットに変更を加えて、「OK」をクリックします。
  5. データ・モデルを保存します。
  6. 編集したデータ・モデルをテストして、新しいサンプル・データを追加します。テストとサンプル・データ生成の方法の詳細は、データ・モデルのテストとサンプル・データの生成を参照してください。

SQL問合せを使用したデータ・セットの作成

このトピックでは、SQL問合せを使用してデータ・セットを作成する方法について説明します。

SQL問合せの入力

この手順を使用して、SQL問合せを入力します。

SQL問合せおよび「実行計画の生成」オプションの最適化の詳細は、SQLデータ・セットのベスト・プラクティスを参照してください。

  1. 「新規データ・セット」をクリックし、「SQL問合せ」をクリックします。次に示されているように、データ・セットの作成 - 「SQL」ダイアログが開きます。
  2. データ・セットの名前を入力します。
  3. データソースのデフォルトは、「プロパティ」ページで選択されたデフォルトのデータソースです。このデータ・セットのデフォルト・データソースを使用しない場合は、リストから「データソース」を選択します。

    プライベート・データソース接続をSQL問合せデータ・セットのデータソースとして使用することもできます。プライベート・データソース接続の詳細は、プライベート・データソースの管理を参照してください。

  4. SQLタイプは、データベース・スキーマを認識するために解析される標準のSELECT文に使用される「標準SQL」にデフォルトで設定されています。他のSQLタイプの使用の詳細は、非標準SQLデータ・セットの作成を参照してください。
  5. SQL問合せを入力するか、「クエリー・ビルダー」をクリックして「クエリー・ビルダー」ページを開きます。クエリー・ビルダー・ユーティリティの詳細は、SQLクエリー・ビルダーの使用を参照してください。
  6. 問合せ内でフレックスフィールドやバインド変数などの特別な処理を使用する場合は、クエリー・ビルダーから返されたSQLを編集して必要な文を組み込みます。

    注意:

    SELECT文に埋め込んだテキストの字句参照を含める場合は、有効なSQL文が得られるように値を置き換える必要があります。

  7. 問合せの入力後に、「OK」をクリックして保存します。標準SQL問合せの場合、データ・モデル・エディタによって問合せが検証されます。

    問合せにバインド変数が含まれているときには、バインド・パラメータの作成を促すプロンプトが表示されます。「OK」をクリックして、データ・モデル・エディタでバインド・パラメータを作成します。

    パラメータの編集の詳細は、パラメータと値リストの追加を参照してください。

非標準SQLデータ・セットの作成

基本SQLコマンドを使用したデータ・セットの作成に加えて、より複雑なコマンドを使用してデータ・セットを作成できます。

プロシージャ・コール

この問合せタイプは、データベース・プロシージャをコールする場合に使用します。たとえば、Oracle PL/SQLの文はBEGINで始まります。このSQLデータ型を使用すると、メタデータはデータ・モデル構造のタブに表示されないため、データ構造またはデータ・フィールドを変更できません。プロシージャ・コールを使用してSQLを作成する場合、テキスト・ボックスにコードを直接入力するか、他のSQLエディタからコピーして貼り付けます。クエリー・ビルダーは、このようなタイプの問合せの変更または作成に使用できません。

非標準SQL

この問合せタイプは、次のものを組み込むことができるSQL文を発行する場合に使用します。

  • ネストされた結果セットを返すCursor文

    例:

      Ex:SELECT TO_CHAR(sysdate,'MM-DD-YYYY') CURRENT_DATE ,
      CURSOR
       (SELECT d.order_id department_id,
               d.order_mode department_name ,
               CURSOR
               (SELECT e.cust_first_name first_name,
                 e.cust_last_name last_name,
                 e.customer_id employee_id,
                 e.date_of_birth hire_date
               FROM customers e
               WHERE e.customer_id IN (101,102)
               ) emp_cur
        FROM orders d
        WHERE d.customer_id IN (101,102)
      ) DEPT_CUR FROM dual
    
  • REFカーソルを返す関数

    例:

    create or replace PACKAGE REF_CURSOR_TEST AS
      TYPE refcursor IS REF CURSOR;
      pCountry  VARCHAR2(10);
      pState   VARCHAR2(20);
      FUNCTION GET( pCountry IN VARCHAR2, pState   IN VARCHAR2) RETURN  REF_CURSOR_TEST.refcursor;
      END;
    
    
      create or replace PACKAGE BODY REF_CURSOR_TEST AS
      FUNCTION GET(
       pCountry  IN VARCHAR2,
       pState    IN VARCHAR2)
      RETURN REF_CURSOR_TEST.refcursor
      IS
      l_cursor REF_CURSOR_TEST.refcursor;
      BEGIN
         IF ( pCountry = 'US' ) THEN
           OPEN l_cursor FOR 
           SELECT TO_CHAR(sysdate,'MM-DD-YYYY') CURRENT_DATE ,
               d.order_id department_id,
               d.order_mode department_name
           FROM orders d
           WHERE d.customer_id IN (101,102);
         ELSE
           OPEN l_cursor FOR 
           SELECT * FROM EMPLOYEES;    
         END IF;   
         RETURN l_cursor;
       END GET;
      END REF_CURSOR_TEST;
    
    

    Oracle BI PublisherREFカーソルを使用するには、次のようにします。

    create SQL dataset with query as  SELECT REF_CURSOR_TEST.GET(:PCNTRY,:PSTATE) AS CURDATA FROM DUAL 
  • 匿名ブロック/ストアド・プロシージャ

    BI Publisherでは、PL/SQL匿名ブロックの実行がサポートされています。PL/SQLブロックで計算を実行し、結果のセットを返すことができます。BI Publisherでは、コール可能文を使用して匿名ブロックを実行します。

    要件は次のとおりです。

    • PL/SQLブロックは、REFカーソル型の結果セットを返す必要があります

    • 名前がxdo_cursor;のout変数を宣言する必要があります。名前を適切に宣言しないと、最初のバインド変数がout変数タイプとして扱われ、REFカーソルとバインドします。

    • 名前がxdo_cursorのデータ・モデル・パラメータを宣言します。この名前は、プロシージャ/匿名ブロックのout変数タイプ用に予約されています。

    例:

    DECLARE
           type refcursor is REF CURSOR;
           xdo_cursor refcursor;
           empno number;
        BEGIN 
          OPEN :xdo_cursor FOR 
           SELECT * 
           FROM EMPLOYEES E
           WHERE E.EMPLOYEE_ID = :P2;
           COMMIT;
        END;
  • if-else式を使用すると、条件付き問合せを実行できます。単一のデータ・セットで複数のSQL問合せを定義できますが、式の値に応じて実行時に実行される問合せは1つのみです。式はブール値を検証して返します。値がtrueの場合、SQL問合せのそのセクションが実行されます。

    次のような制限があります。

    • 式の評価では、構文: $if{$elseif{$else{がサポートされています

    • 式はtrueまたはfalseを返す必要があります。

    • 次の演算子のみサポートされています。

      == <= >= < >

     Example:
       create sql dataset with following query
       $if{ (:P_MODE == PRODUCT) }$
                    SELECT PRODUCT_ID
                    ,PRODUCT_NAME
                    ,CATEGORY_ID
                    ,SUPPLIER_ID
                    ,PRODUCT_STATUS
                    ,LIST_PRICE
                    FROM PRODUCT_INFORMATION 
                    WHERE ROWNUM < 5
       $elsif{(:P_MODE == ORDER )}$
                    SELECT ORDER_ID
                      ,ORDER_DATE
                      ,ORDER_MODE
                      ,CUSTOMER_ID
                      ,ORDER_TOTAL
                      ,SALES_REP_ID
                    FROM ORDERS
                    WHERE ROWNUM < 5
       $else{ 
                   SELECT PRODUCT_ID
                   , WAREHOUSE_ID
                   ,QUANTITY_ON_HAND
                   FROM INVENTORIES
                   WHERE ROWNUM < 5
                   }$
       $endif$
    

非標準SQL文を使用してデータ・セットを作成すると、メタデータはデータ・モデル構造のタブに表示されないため、データ構造またはデータ・フィールドを変更できません。クエリー・ビルダーは、このようなタイプの問合せの変更または作成に使用できません。

非標準SQLデータ・セットのXML行タグを定義するには:

データ・モデルの定義でxmlRowTagName=""を使用して、非標準SQL問合せデータ・セットのxml行タグを定義します。これにより、有効なタグ名を入力できます。属性が空の場合、実行時のデフォルトはROWになります。

データ・セットの定義を次に示します。

<dataSet name="Q1" type="simple">
	<sql dataSourceRef="bipdev4-demo" nsQuery="true"  xmlRowTagName="">
		,,
	</sql>
</dataset>

SQLクエリー・ビルダーの使用

コーディングせずにSQL問合せを作成するには、クエリー・ビルダーを使用します。クエリー・ビルダーを使用すると、SQLに関する最小限の知識で、データベース・オブジェクトの検索とフィルタ処理、オブジェクトと列の選択、オブジェクト間の関連の作成、および書式設定された問合せ結果の表示を行うことができます。

この項では、クエリー・ビルダーの使用方法について説明します。この項の内容は次のとおりです。

クエリー・ビルダーの概要

「クエリー・ビルダー」ページは、「オブジェクト選択」ペインと設計と出力ペインに分かれています。

  • 「オブジェクト選択」ペインには、問合せの作成に使用できるオブジェクトのリストが表示されます。現行スキーマのオブジェクトのみが表示されます。

  • 設計と出力ペインは、次の4つのタブで構成されています。

    • モデル - 「オブジェクト選択」ペインから選択したオブジェクトが表示されます。

    • 条件 - 選択した列に条件を適用できます。

    • SQL - 問合せが表示されます。

    • 結果 - 問合せの結果が表示されます。

クエリー・ビルダーのプロセスの理解

この手順を実行して問合せを作成します。

  1. スキーマを選択します。

    「スキーマ」リストには、データソースで使用可能なすべてのスキーマが表示されます。リスト内にアクセスできないものが含まれる場合もあります。

  2. 「設計」ペインにオブジェクトを追加して、列を選択します。

    「オブジェクト選択」ペインには、選択したスキーマの表、ビューおよびマテリアライズド・ビューがリストされます(Oracle Databaseの場合、シノニムもリストされます)。リストからオブジェクトを選択すると、そのオブジェクトが「設計」ペインに表示されます。「設計」ペインを使用して、選択したオブジェクトを問合せで使用する方法を特定します。

    「検索」フィールドを使用して、検索文字列を入力することが必要になる場合があります。データソースに100を超える表がある場合は、この検索機能を使用して、目的のオブジェクトを検索および選択する必要があります。

  3. (省略可能)オブジェクト間の関係を確立します。
  4. すべての重複列に一意の別名を追加します。
  5. (省略可能)問合せ条件を作成します。
  6. 問合せを実行し、結果を表示します。

サポートされている列タイプ

すべてのタイプの列がオブジェクトとして「設計」ペインに表示されます。

列の制限は次のとおりです。

  • 各問合せで選択できる列の数は60以下です。

  • 次の列タイプから選択できます。

    • VARCHAR2、CHAR

    • NUMBER

    • DATE、TIMESTAMP

      注意:

      TIMESTAMP WITH LOCAL TIMEZONEデータ型はサポートされていません。

    • バイナリ・ラージ・オブジェクト(Binary Large Object: BLOB)

      注意:

      BLOBはイメージです。クエリー・ビルダーで問合せを実行すると、BLOBは「結果」ペインに表示されませんが、問合せはデータ・モデル・エディタに保存されるときに正しく作成されます。BI Publisherでは、Oracle BI EEデータソースでのBLOB列の問合せはサポートされていません。

    • キャラクタ・ラージ・オブジェクト(CLOB)

      注意:

      BI Publisherでは、Oracle BI EEデータソースでのCLOB列の問合せはサポートされていません。

      データ・モデル内でCLOBデータを使用する方法の詳細は、キャラクタ・ラージ・オブジェクト(CLOB)として格納されたデータのデータ・モデル内での使用方法を参照してください。

「設計」ペインへのオブジェクトの追加

設計ペインに追加する各オブジェクトを選択します。

  • オブジェクトを追加すると、データ型を表すアイコンが列名の横に表示されます。

  • 列を選択すると、その列が「条件」タブに表示されます。「条件」タブの「表示」チェック・ボックスは、問合せ結果に列を含めるかどうかを制御します。このチェック・ボックスは、デフォルトでは選択されています。

  • 最初の20列を選択するには、オブジェクトの左上隅にある小さいアイコンをクリックし、すべてチェックを選択します。

  • 問合せは、[Ctrl]+[Enter]キーを押して実行することもできます。

  1. オブジェクトを選択します。
  2. 問合せに含める各列のチェック・ボックスを選択します。
  3. 問合せを実行して結果を表示するには、「結果」を選択します。

「設計」ペインでのオブジェクトの削除または非表示

設計ペインでオブジェクトを削除または非表示にできます。

オブジェクトを削除するには:

  1. オブジェクトの右上隅にある「削除」をクリックします。

オブジェクト内の列を一時的に非表示にするには:

  1. 「列の表示/非表示」をクリックします。

問合せ条件の指定

条件を使用すると、作業対象のデータをフィルタ処理して識別できます。

オブジェクト内の列を選択するときは、(次に示した)「条件」タブで条件を指定できます。これらの属性を使用して、列別名の変更、列条件の適用、列のソート、または関数の適用を行うことができます。

次の表では「条件」タブで使用可能な属性について説明します。

条件属性 説明

上矢印および下矢印

問合せ結果内の列の表示順序を制御します。

列名を表示します。

別名

列の別名(オプション)を指定します。別名とは列名の別称です。別名は、列名をより説明的にする場合や、列名を短縮する場合、あいまいな参照を回避する場合に使用されます。別名にはマルチバイト・キャラクタはサポートされないので注意してください。

オブジェクト

オブジェクト名が表示されます。

条件

条件によって、問合せのWHERE句が変更されます。列条件を指定するときは、適切な演算子およびオペランドを含める必要があります。標準のSQL条件はすべてサポートされています。例:

>=10

='VA'

IN (SELECT dept_no FROM dept)

BETWEEN SYSDATE AND SYSDATE + 15

ソート・タイプ

ASC(昇順)またはDESC(降順)を選択します。

ソート順序

番号(1、2、3・・・)を入力して、選択した列が表示される順序を指定します。

表示

列を問合せ結果に含めるには、このチェック・ボックスを選択します。フィルタ処理のためにのみ列を問合せに追加する場合は、「表示」を選択する必要はありません。たとえば、次の問合せを作成する場合について説明します。

SELECT ename FROM emp WHERE deptno = 10

この問合せをクエリー・ビルダーで作成する手順は、次のとおりです。

  1. 「オブジェクト」リストから、EMPを選択します。

  2. 「設計」ペインでenameとdeptnoを選択します。

  3. deptno列について「条件」に=10と入力し、「表示」チェック・ボックスを選択解除します。

関数

使用可能な引数関数は次のとおりです。

  • 数値列 - COUNT、COUNT DISTINCT、AVG、MAXIMUM、MINIMUM、SUM

  • VARCHAR2列、CHAR列 - COUNT、COUNT DISTINCT、INITCAP、LENGTH、LOWER、LTRIM、RTRIM、TRIM、UPPER

  • DATE列、TIMESTAMP列: COUNT、COUNT DISTINCT

グループ基準

集計関数の使用時にグループ化に使用する列を指定します。出力に含まれる列にのみ適用できます。

削除

問合せから列を排除して、選択解除します。

列を選択し条件を定義すると、クエリー・ビルダーによってSQLが書き込まれます。

基になるSQLを表示するには:

  • 「SQL」タブを選択します。

オブジェクト間の関係の作成

結合を作成することで、オブジェクト間の関係を作成できます。結合によって、複数の表、ビューまたはマテリアライズド・ビューの間の関連が識別されます。

結合条件について

結合の問合せを記述するときは、2つのオブジェクトの関係を示す条件を指定します。この条件は結合条件と呼ばれます。

結合条件によって、1つのオブジェクトの行を別のオブジェクトの行とどのように組み合せるかが指定されます。

クエリー・ビルダーは、内部結合、外部結合、左側結合および右側結合をサポートしています。

  • 内部結合(単純結合とも呼ばれます)は、結合条件を満たす行を戻します。

  • 外部結合は、単純結合の結果を拡張します。

    外部結合は、結合条件を満たすすべての行を戻し、さらに、一方の表に結合条件を満たす行がない場合は、結合条件を満たす一部またはすべての行をもう一方の表から戻します。

オブジェクトの手動結合

「設計」ペインの「結合」列を選択して、結合を手動で作成します。

オブジェクトを手動で結合するには:

  1. 「オブジェクト選択」ペインで、結合するオブジェクトを選択します。
  2. 結合する列を指定します。

    列名に隣接する結合列を選択して、結合を作成します。結合列はデータ型の右側に表示されます。該当する位置にカーソルを置くと、次のヘルプ・ヒントが表示されます。

    結合対象の列を選択するには、ここをクリックしてください

  3. 最初のオブジェクトに対して、適切な結合列を選択します。

    選択すると、結合列が選択表示になります。結合列の選択を解除するには、再度その列を選択するか[Esc]を押します。

  4. 2番目のオブジェクトに対して、適切な結合列を選択します。

    結合すると、2つの列が線で結ばれます。次に例を示します。

  5. 問合せに含める列を選択します。結合線にカーソルを置くと、結合した結果のSQL文を表示できます。
  6. 「結果」をクリックして問合せを実行します。

問合せの保存

問合せを構築した後にその問合せを保存します。

問合せの作成後には、「保存」をクリックしてデータ・モデル・エディタに戻ります。この問合せは、「SQL問合せ」ボックスに表示されます。「OK」をクリックするとデータ・セットが保存されます。

保存された問合せの編集

クエリー・ビルダーからデータ・モデル・エディタに問合せを保存しておくと、その問合せの編集にクエリー・ビルダーを使用することもできます。

問合せが変更されている場合や、問合せの作成にクエリー・ビルダーを使用していない場合には、その問合せを編集するためにクエリー・ビルダーを起動するとエラーが示されることがあります。クエリー・ビルダーで問合せを解析できないときには、テキスト・ボックス内で文を直接編集してください。

注意:

カスタマイズ済問合せや拡張問合せの編集にはクエリー・ビルダーを使用できません。
  1. SQLデータ・セットを選択します。
  2. ツールバーの「選択したデータ・セットの編集」をクリックして「データ・セットの編集」ダイアログを開きます。
  3. 「クエリー・ビルダー」をクリックして、クエリー・ビルダーに問合せをロードします。
  4. 問合せを編集して、「保存」をクリックします。

問合せへのバインド変数の追加

問合せの作成後、ユーザーがこの問合せにパラメータを渡して結果を限定できるようにすることが必要な場合があります。たとえば、従業員のリストで、ユーザーが特定の部門を選択できるようにする必要があります。

次のイメージに、部門表の列を示します。

  • クエリー・ビルダーの「条件」タブで、次を使用して、列にバインド変数を追加します。

    in (:PARAMETER_NAME)

    PARAMTER_NAMEは、そのパラメータに選択した名前になります。

    注意:

    問合せを手動で編集すると、その問合せをクエリー・ビルダーで解析することはできなくなります。手動で追加の編集を行うことができます。

テキスト・エディタを使用したバインド変数の追加

データ・モデル・エディタを使用して、SQL問合せを更新します。

  1. 「データ・セットの編集」テキスト・ボックスで、問合せ内のwhere句の後に次を追加することで、SQL問合せを更新します。

    and "COLUMN_NAME" in (:PARAMETER_NAME)

    例:

    and "DEPARTMENT_NAME" in (:P_DEPTNAME)

    P_DEPTNAMEは、次に示されているように、パラメータに選択した名前です。

  2. 「保存」をクリックします。
  3. データ・モデル・エディタで、次のイメージに示すように、バインド変数構文を使用して入力したパラメータを作成します。
  4. パラメータを選択して「OK」をクリックすると、パラメータ・エントリが自動的に作成されます。

    パラメータのプロパティを定義する方法の詳細は、パラメータと値リストの追加を参照してください。

SQL問合せへの字句参照の追加

字句参照を使用して、SELECT、FROM、WHERE、GROUP BY、ORDER BYまたはHAVINGの後にくる句を置換できます。

実行時にパラメータで複数の値を置換する場合は字句参照を使用します。字句参照がサポートされるのは、Oracleアプリケーションに対する問合せのみです。

SQL問合せの中に字句参照を作成するには、次の構文を使用します。

&parametername

注意:

字句参照を使用すると、フレックスフィールドを問合せに組み込むこともできます。フレックスフィールドの使用方法の詳細は、フレックスフィールドの追加を参照してください。

  1. 問合せを作成する前に、問合せの字句参照ごとに、PL/SQLデフォルト・パッケージでパラメータを定義します。データ・エンジンでは、これらの値を使用して字句パラメータを置換します。
  2. データ・モデル・エディタの「プロパティ」ページで、「Oracle DBデフォルト・パッケージ」を指定します。
  3. データ・モデル・エディタで、「データの前」イベント・トリガーを作成し、このPL/SQLパッケージをコールするように設定します。手順の詳細は、データの前およびデータの後トリガーの追加を参照してください。
  4. 字句参照が含まれるSQL問合せを作成します。
  5. SQL問合せを閉じるために「OK」をクリックすると、パラメータを入力するための画面が表示されます。

たとえば、パッケージをemployeeという名前で作成します。employeeパッケージの中で、where_clauseというパラメータを次のように定義します。

Package employee
AS
 where_clause varchar2(1000);
  .....
 
Package body employee
 AS
 .....
where_clause := 'where DEPARTMENT_ID=10';
.....

SQL問合せの中で字句パラメータを参照します。このパラメータが、パッケージ内で定義されたコードで置き換えられます。次に例を示します。

select	 "EMPLOYEES"."EMPLOYEE_ID" as "EMPLOYEE_ID",
	 "EMPLOYEES"."FIRST_NAME" as "FIRST_NAME",
	 "EMPLOYEES"."LAST_NAME" as "LAST_NAME",
	 "EMPLOYEES"."SALARY" as "SALARY",
 from	"OE"."EMPLOYEES" "EMPLOYEES"
 &where_clause

SQLデータ・セットの作成ダイアログ・ボックスの「OK」をクリックすると、字句参照ダイアログ・ボックスが表示されます。これは、SQL問合せ内に入力した字句参照の値を入力するためのものです(次のイメージを参照)。字句参照の値を、PL/SQLパッケージ内で定義されているとおりに入力します。

実行時に、パッケージ内で定義されたwhere_clauseの内容で&where_clauseが置き換えられます。

Oracle BIサーバーに対するSQL問合せの定義

クエリー・ビルダーをOracle BIサーバーに対して起動すると、クエリー・ビルダーには、カタログからのサブジェクト・エリアが表示されます。このサブジェクト・エリアをクエリー・ビルダーの作業領域にドラッグすると、列が表示されます。データ・モデルに入れる列を選択します。

データ・セットをOracle BIサーバーに対して作成するときは、次の点に注意してください。

  • SQLデータ・エディタまたはクエリー・ビルダーを使用して、SQL問合せをOracle BIサーバーに対して作成するときは、論理SQLが生成されます。他のデータベース・ソースの場合とは異なり、物理SQLは生成されません。

  • 階層列はサポートされません。最も上のレベルが常に返されます。

  • サブジェクト・エリアの中では、表間の結合条件がすでに作成されています。したがって、クエリー・ビルダーで結合を作成する必要はありません。クエリー・ビルダーによって主キーが公開されることはありません。

    データ・モデル・エディタの「リンクの作成」機能を使用してデータ・セットどうしをリンクできます。要素レベルのリンクの作成を参照してください。Oracle BIサーバーから作成したデータ・セットの場合、1つのデータ・モデルに対して2つの要素レベルのリンクという制限があります。

  • クエリー・ビルダーの「条件」タブに表示される機能のうち、「ソート順序」「グループ基準」は、Oracle BIサーバーに対する問合せの場合はサポートされません。「ソート順序」に入力した場合や、「グループ基準」チェック・ボックスを選択した場合も、クエリー・ビルダーによってSQLが作成されてBI Publisherの「SQL問合せ」テキスト・ボックスに出力されますが、「データ・セット」ダイアログを閉じようとすると、問合せは検証不合格となります。

    SQL問合せで取り出したデータをグループ化するには、データ・モデル・エディタの「グループ基準」機能をかわりに使用してください。「サブグループの作成」を参照してください。

  • パラメータをOracle BIサーバーに渡すとともに、「全選択可能」で「NULL値が渡されました」を選択した場合は、問合せの中で確実にnull値の処理を行う必要があります。

  1. データ・モデル・エディタで、「新規データ・セット」をクリックし、「SQL問合せ」をクリックします。
  2. データ・セットの名前を入力します。
  3. 「データソース」リストで、Oracle BIサーバー接続を選択します(通常はOracle BI EEと表示されます)。
  4. 「クエリー・ビルダー」をクリックして「クエリー・ビルダー」ページを開きます。クエリー・ビルダー・ユーティリティの詳細は、SQLクエリー・ビルダーの使用を参照してください。

    SQL構文を手動で「SQL問合せ」テキスト・ボックスに入力することもできますが、Oracle BIサーバーで使用される論理SQL構文を使用する必要があります。

  5. 「カタログ」ドロップダウン・リストで、次に示されているようにサブジェクト・エリアを選択します。このリストに表示されるのは、Oracle BIサーバー内で定義されているサブジェクト・エリアです。
  6. 問合せの表と列を選択します。
  7. 「保存」をクリックします。
  8. 「OK」をクリックしてデータ・モデル・エディタに戻ります。生成されるSQLは、スター・スキーマに従う論理SQLです。物理SQLではありません。
  9. 変更内容をデータ・モデルに保存します。

Oracle Fusionアプリケーション表に対する問合せの注意点

Oracle Fusionアプリケーション表に対する問合せを書く際にOracle Fusionアプリケーション顧客に対する特別な考慮事項が適用されます

  • 月の名前をsysdateからto_char(sysdate,"mon")を使用して返すことはできません。この関数は月の番号を返します。月の名前を表示するには、次のいずれかのソリューションを使用します:

    • レイアウトの日付フィールドを、次の構文を使用して書式設定します: <?format_date:fieldname;MASK)?>

      『Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』の日付の書式設定に関する項を参照してください。

    • 月の番号に基づいて月の名前を表示するには、レイアウトで次の構文を使用します:

      <?xdoxslt:month_name(month, [abbreviate?], $_XDOLOCALE)?>

      このmonthは、月の数値(January = 1)で、

      [abbreviate?]は、省略しない場合は0で省略する場合は1です。

      例:

      <?xdoxslt:month_name(1, 0, $_XDOLOCALE)?>

      Januaryが返されます

    • データ・モデルに式を追加するには、次の式を使用します:

      Format_date(date, format_String)

      例:

      SUBSTRING(FORMAT_DATE(G_1.SYSDATE,MEDIUM),0,3)

      Novが返されます(現在のSYSTDATEがNovemberの場合)

OLAPデータソースに対するMDX問合せを使用したデータ・セットの作成

BI Publisherでは、OLAPデータソースに対するマルチディメンション式(MDX)問合せがサポートされます。

MDXを使用すると、マルチディメンション・オブジェクト(たとえばEssbaseキューブ)に対して問合せを実行して、キューブのデータが格納されたマルチディメンション・セル・セットを返すことができます。MDX問合せを作成するには、手動でMDX問合せを入力するか、MDXクエリー・ビルダーを使用して問合せを作成します。

MDX問合せを使用したデータ・セットの作成

MDX問合せを作成するには、手動でMDX問合せを入力するか、MDXクエリー・ビルダーを使用して問合せを作成します。

  1. ツールバーの「新規データ・セット」をクリックし、「MDX問合せ」を選択します。

    「新規データ・セット - MDX問合せ」ダイアログを次に示します。

  2. データ・セットの名前を入力します。
  3. このデータ・セットのデータソースを選択します。OLAP接続として定義されたデータソースのみがリストに表示されます。

    プライベートOLAPデータソース接続を作成した場合は、その接続も「データソース」ドロップダウン・リストに表示されます。プライベート・データソース接続を作成する方法の詳細は、プライベート・データソースの管理を参照してください。

  4. MDX問合せを入力するか、「クエリー・ビルダー」をクリックします。「MDXクエリー・ビルダーの使用」を参照してください。
  5. 「OK」をクリックして保存します。この問合せは、データ・モデル・エディタによって検証されます。

注意:

OLAPデータソースでは、どのメタデータ属性(列名や表名など)にもU+F900からU+FFFEまでのUnicode文字が使用されていないことを確認してください。このUnicodeの範囲には、半角の日本語カタカナと、全角のASCIIバリアントが含まれています。これに該当する文字を使用すると、BI Publisherレポート用のXMLデータを生成するときにエラーが発生します。

MDX問合せの記述方法の詳細は、Oracle Essbase for BIドキュメントで見つかるOracle Essbaseデータベース管理者ガイドMDX問合せ記述方法に関する項を参照してください。

MDXクエリー・ビルダーの使用

MDXクエリー・ビルダーを使用すると、基本的なMDX問合せをコーディング不要で作成できます。MDXクエリー・ビルダーでは、ディメンションを列、行、ページおよび視点の各軸に追加することや、問合せの結果をプレビューできます。

注意:

MDXクエリー・ビルダーで実行できるのは、Essbaseデータソースに対するデータ・セットの作成のみです。その他すべてのOLAPデータソースについては、問合せを手動で作成する必要があります。

MDXクエリー・ビルダーのプロセスの理解

MDX問合せを作成するには、手動でMDX問合せを入力するか、MDXクエリー・ビルダーを使用して問合せを作成します。

MDXクエリー・ビルダーを使用してMDX問合せを作成するには:

  1. ツールバーの「新規データ・セット」をクリックし、次に「MDX問合せ」を選択して「新規データ・セット - MDX問合せ」ダイアログを開きます。
  2. データ・セットの名前を入力します。
  3. データソースを選択します。
  4. MDXクエリー・ビルダーを起動します。
  5. 問合せのEssbaseキューブを選択します。
  6. ディメンションやメジャーを選択し、「列」、「行」、「スライサ/POV」、「ページ」の各軸にドラッグ・アンド・ドロップします。
  7. (省略可能)アクションを使用して問合せに変更を加えます。
  8. (省略可能)フィルタを適用します。
  9. 問合せのオプションを設定して問合せを保存します。

「キューブの選択」ダイアログの使用

「キューブの選択」ダイアログでは、MDX問合せの作成に使用するEssbaseキューブを選択します。

選択済のMDXデータソース接続によって、どのEssbaseキューブが選択可能になるかが決まります。

ディメンションおよびメジャーの選択

MDX問合せを作成するには、「列」、「行」、「スライサ/POV」、「ページ」の各軸のディメンションを選択します。

Accountディメンションのメンバーは、メンバー名ごとに個別に一覧表示されます。次に示されているように、その他のディメンション・メンバーはすべて世代名によって表現されます。

ディメンションの世代や個々のメジャーを、「Account」ディメンションから「列」、「行」、「スライサ/POV」、「ページ」の各軸にドラッグできます。

問合せを作成するには、ディメンションのメンバーまたはメジャーを「ディメンション」パネルから次の軸領域のいずれかにドラッグします。

  • : 問合せのAxis (0)

  • : 問合せのAxis (1)

  • スライサ/POV: スライサ軸を利用すると、問合せの対象をEssbaseキューブの特定スライスにのみ限定できます。これは、問合せのWHERE句(省略可能)を表します。

  • : 問合せのAxis (2)

「列」軸と「行」軸ではディメンションのメンバーをネストできますが、「スライサ/POV」軸では1つのディメンションのみを追加できます。

「スライサ/POV」軸へのディメンション・メンバーの追加

ディメンションを「スライサ/POV」軸に追加するときは、「メンバーの選択」ダイアログが開きます。

この軸に対して選択できるディメンション・メンバーは1つのみです。ディメンションを「メンバーの選択」ダイアログで選択して「OK」をクリックします。

メジャーを「スライサ/POV」軸に追加する場合は、「メンバーの選択」ダイアログは表示されません。

MDX問合せのアクションの実行

MDXクエリー・ビルダーのツールバーには、MDX問合せに変更を加えるための、次のボタンがあります。

  • 「行と列の入替え」をクリックすると、行と列の間でディメンションが入れ替わります。

  • 「アクション」をクリックすると、次のメニュー項目が表示されて選択できるようになります。

    • キューブの選択: 問合せのための別のEssbaseキューブを選択します。

    • 別名表の設定: ディメンション表示名に使用する別名表を選択します。別名は表示にのみ使用され、問合せの中では使用されません。

    • 自動リフレッシュ: 「列」、「行」、「スライサ/POV」、「ページ」の各軸にディメンション・メンバーが配置されたときに結果を表示し、MDX問合せ構文を自動的にリフレッシュします。

    • 結果のクリア: 結果をクリアし、すべての軸でのメンバー選択および問合せに追加されたフィルタを解除します。

    • 空白列の表示: データが格納されていない列を表示します。

    • 空白行の表示: データが格納されていない行を表示します。

    • 問合せの表示: ディメンションを「列」、「行」、「スライサ/POV」、「ページ」の各軸に配置した結果として作成される、MDX問合せ構文を表示します。

MDX問合せのフィルタの適用

MDXクエリー・ビルダーでは、「列」、「行」、「ページ」の各軸のディメンションに対するフィルタを作成して、MDX問合せをさらに絞り込むことができます。

1つの問合せに対して複数のフィルタを作成できますが、「列」、「行」、「ページ」の軸ごとに作成できるフィルタは1つのみです。

  • フィルタを作成するには、「列」、「行」または「ページ」軸のディメンションの右にある下向き矢印ボタンをクリックします。そのディメンションが「フィルタ」領域に表示されます。次に示されているように、目的のディメンション・メンバーを選択してフィルタを作成します。

MDX問合せのオプションの選択とMDX問合せの保存

「オプション」ダイアログでは、「列」、「行」、「ページ」の各軸のディメンションごとに、問合せに組み込むディメンション・プロパティを選択します。

次に示されているように、問合せの作成が完了したら、「保存」をクリックすると「オプション」ダイアログが表示されます。

デフォルトでは、プロパティは何も選択されません。

ディメンションのプロパティは次のとおりです。

  • メンバーの別名: Essbaseアウトラインにリスト表示される、ディメンション・メンバーの別名。

  • 祖先名: Essbaseアウトラインにリスト表示される、祖先ディメンション名。

  • レベル番号: Essbaseアウトラインにリスト表示される、ディメンション・レベル番号。

  • 生成番号: Essbaseアウトラインにリスト表示される、ディメンションの世代番号。

たとえば、「メンバーの別名」プロパティと「レベル番号」プロパティを選択した場合のMDX問合せは、次のようになります。

SELECT
NON EMPTY Hierarchize([Market].Generations(2).Members)
PROPERTIES MEMBER_ALIAS,LEVEL_NUMBER ON Axis(0),
NON EMPTY CROSSJOIN(Hierarchize([Product].Generations(3).Members),
{[Accounts].[Margin],[Accounts].[Sales],[Accounts].[Total_Expenses]})ON Axis(1),
NON EMPTY [Year].Generations(3).Members ON Axis(2) FROM Demo.Basic

Essbaseディメンション・プロパティの詳細は、Oracle Essbase for BIドキュメントで見つかるOracle Essbaseデータベース管理者ガイドを参照してください。

次に示されているように、MDX問合せのオプションを選択したら、「OK」をクリックして「新規データ・セット - MDX問合せ」ダイアログに戻り、MDX問合せ出力を確認します。

「OK」をクリックしてデータ・モデル・エディタに戻り、変更内容を保存します。

注意:

MDX問合せをBI Publisherに保存した後で変更を加える場合は、構文をMDXクエリー・ビルダーで変更するのではなく、手動で変更することをお薦めします。

Oracle BI Analysisを使用したデータ・セットの作成

Oracle Business Intelligenceとの統合を有効にしている場合は、Oracle Business Intelligenceプレゼンテーション・カタログにアクセスすると、データソースとして「Oracle BI Analysis」を選択できるようになります。

分析は、ビジネス上の疑問に対する回答を得るための、組織のデータに対する問合せです。問合せには、Oracle BI Serverに発行される、ベースとなるSQL文が含まれています。

『Oracle Business Intelligence Publisherユーザーズ・ガイド』を参照してください。

注意:

BI Publisherのデータ・モデルでは、階層列はサポートされません。

  1. ツールバーの「新規データ・セット」ボタンをクリックし、「Oracle BI Analysis」を選択します。
  2. 「新規データ・セット - Oracle BI Analysis」ダイアログで、このデータ・セットの名前を入力します。
  3. 次に示されているように、「参照」アイコンをクリックして、Oracle Business Intelligenceプレゼンテーション・カタログに接続します。
  4. カタログ接続のダイアログが開いたら、フォルダに移動して、レポートのデータ・セットとして使用するOracle BI分析を選択します。
  5. 次に示されているように、「タイムアウト」値を秒数単位で入力します。この「タイムアウト」値に指定した時間を経過してもBI Publisherが分析データを取得できない場合、BI Publisherは分析データの取得の試行を停止します。
  6. 「OK」をクリックします。

Oracle BI Analysisデータ・セットに関する注意点

パラメータと値リストは、BI分析から継承され、実行時に表示されます。

BI Analysisには、フィルタ変数用に定義されたデフォルト値が必要です。分析にデフォルト値のないプレゼンテーション変数が含まれていると、BI Publisherではデータソースとしてサポートされなくなります。

Oracle BI Analysisデータ・セットに基づいてデータを構造化する必要がある場合は、グループのブレーク、グループのフィルタ、データのリンクおよびグループ・レベル関数はサポートされません。

次の内容がサポートされています。

  • グローバル・レベル関数

  • 要素がNULLの場合の値の設定

前述のサポート対象機能の詳細は、データの構造化を参照してください。

ビュー・オブジェクトを使用したデータ・セットの作成

BI Publisherを使用すると、Oracle Application Development Frameworkで作成したカスタム・アプリケーションに接続して、そのアプリケーションのビュー・オブジェクトをレポートのデータソースとして使用できます。

SQLがデータベースに対して直接実行されるため、問合せ実行のパフォーマンスが向上します。

ビュー・オブジェクトを使用してOracle BI Publisherのデータ・モデルを作成するには、『Oracle Business Intelligence Publisher開発者ガイド』のガイドラインに従い、あらかじめビュー・オブジェクトをアプリケーション内に作成しておく必要があります。

  1. 「新規データ・セット」ツールバー・ボタンをクリックして、「ビュー・オブジェクト」を選択します。
  2. 「新規データ・セット - ビュー・オブジェクト」ダイアログで、このデータ・セットの名前を入力します。
  3. リストから「データソース」を選択します。providers.xmlファイルで定義したデータソースが表示されます。
  4. 次のいずれかを行います:
    • 「SQLとして実行」「はい」を選択してSQL問合せを「ビュー・オブジェクト」から抽出し、Oracle Business Intelligenceドメインで実行します。
    • ADFレイヤーのOracle Applicationsドメイン上で「ビュー・オブジェクト」を実行するには「いいえ」を選択します。XMLデータがチャンクに分割され、Oracle Business Intelligenceドメインにストリームされます。このメソッドによりパフォーマンスが低下しますが、アプリケーション・ドメインで実行できるようになります。サービス・インタフェース・レイヤーを起動して、カスタム・データ操作を可能にすることができます。
  5. アプリケーション・モジュールの完全修飾名を入力します(例:example.apps.pa.entity.applicationModule.AppModuleAM)。
  6. 「ビュー・オブジェクトのロード」をクリックします。

    BI Publisherは、アプリケーション・モジュールをコールして、ビュー・オブジェクトのリストをロードします。

  7. 「ビュー・オブジェクト」を選択します。

    定義済のバインド変数が取得されます。

  8. パラメータを作成して、このバインド変数にマッピングします。パラメータと値リストの追加を参照してください。
  9. 「OK」をクリックしてデータ・セットを保存します。

ビュー・オブジェクト・データ・セットに関する注意点

ビュー・オブジェクト・データ・セットに基づいたデータを構造化する場合、グループのブレーク、データのリンクおよびグループ・レベル関数はサポートされません。

サポート対象は、要素がNULLの場合の値の設定です。

このサポート対象機能の詳細は、データの構造化を参照してください。

Webサービスを使用したデータ・セットの作成

BI Publisherでは単純および複合的なWebサービス・データソースを使用して有効なXMLデータを返すデータ・セットをサポートしています。

Webサービスのメソッドのパラメータを含めるには、先にパラメータを定義して、そのメソッドをデータソースの設定時に選択できるようにすることをお薦めします。「パラメータと値リストの追加」を参照してください。

複数のパラメータがサポートされています。メソッド名が正しいことと、パラメータの順序がメソッド内での順序と一致することを確認します。Webサービスで2つのパラメータを受け入れるメソッドをコールする場合、メソッド内の2つのパラメータに対して、レポート内で定義した2つのパラメータをマッピングする必要があります。サポートされているパラメータは、文字列や整数などの単純型のパラメータのみです。

注意:

文書またはリテラルのWebサービスのみがサポートされます。

パラメータを指定するには、「パラメータの追加」をクリックし、パラメータをドロップダウン・リストから選択します。

注意:

パラメータは、レポート定義の「パラメータ」セクションで設定する必要があります。詳細は、パラメータと値リストの追加を参照してください。

Webサービス・データソースのオプション

Webサービス・データソースは、「管理」ページで設定するか、データソースとして設定できます。

  • 「管理」ページ

    Webサービス・データソースへの接続を「管理」ページで設定し、複数のデータ・モデルで使用できます。『Oracle Business Intelligence Publisher管理者ガイド』のWebサービスへの接続の設定に関する項を参照してください。

  • プライベート・データソースとして

    自分のみアクセス可能なプライベート接続を設定することもできます。プライベート・データソース接続の詳細は、プライベート・データソースの管理を参照してください。

データ・モデルを作成する前に接続を設定する必要があります。

BI Publisherでは単純および複合的なWebサービス・データソースを使用して有効なXMLデータを返すデータ・セットをサポートしています。

単純なWebサービスを使用したデータ・セットの作成

Webサービスでコールできるメソッドとパラメータがわからない場合は、このURLをブラウザで開いて確認してください。

  1. ツールバーの「新規データ・セット」ボタンをクリックし、「Webサービス」を選択します。
    「新規データ・セット - Webサービス」ダイアログを次に示します。
  2. データ・セット名を入力します。
  3. データソースを選択します。

    「WSDL URL」、「Webサービス」および「メソッド」の各フィールドには、Webサービス・データソースから自動的に移入されます。

  4. 「メソッド」に入力します。
  5. 「OK」をクリックします。
  6. 次のようにして、Webサービス・データ・セットに使用できるようにパラメータを定義します。
    • 「データ・モデル」ペインで「パラメータ」を選択し、「新規パラメータの作成」をクリックして次の属性を入力します。

      • 名前 - パラメータの内部的な識別子を入力します(例: Symbol)。

      • データ型 - 「文字列」を選択します。

      • デフォルト値 - パラメータのデフォルト値を入力します(例: ORCL)。

      • パラメータ・タイプ - 「テキスト」を選択します。

      • 行配置 - 行配置の値を選択します。デフォルトは1です。

    • 「New_Parameter_1:タイプ: テキスト」リージョンで、次の属性を入力します。

    • (オプション) 次のパラメータ・オプションを選択します。

      • テキスト・フィールドにカンマ区切りの値を含む - ユーザーはこのパラメータに対してカンマ区切りの複数の値を入力できます。

      • 変更時に他のパラメータをリフレッシュ - このパラメータの値に依存する値を持つ他のパラメータをリフレッシュするために、ページの部分的なリフレッシュを実行します。

  7. Webサービス・データ・セットに戻り、パラメータを次のとおりに追加します。
    • データ・セット名をクリックします。

    • ツールバーの「選択したデータ・セットの編集」をクリックして「データ・セットの編集」ダイアログを開きます。

    • 「データ・セットの編集」ダイアログで、「パラメータの追加」をクリックします。

    • パラメータの名前を入力し、「OK」をクリックして「データ・セットの編集」ダイアログを閉じます。

  8. 「保存」をクリックします。

複合的なWebサービスを使用したデータ・セットの作成

BI Publisherでは複合的なWebサービス・データソースを使用して有効なXMLデータを返すデータ・セットをサポートしています。複合的なWebサービス・タイプは、内部でsoapRequest/soapEnvelopeを使用して、接続先ホストにパラメータ値を渡します。

データ・セットで複合的なWebサービスをデータソースとして使用している場合、データ・モデル・エディタにはWSDL URL、使用可能なWebサービスおよび複合的なWebサービスに関連付けられた操作が表示されます。選択した操作のそれぞれについて、必要な入力パラメータの構造がデータ・モデル・エディタに表示されます。「オプション・パラメータの表示」を選択した場合、オプション・パラメータもすべて表示されます。

Webサービスで使用できるメソッドとパラメータがわからない場合は、このWSDL URLをブラウザで開いて確認します。

  1. データ・セットの情報を次のとおりに入力します。
    • データ・セット名を入力します。

    • データソースを選択します。「WSDL URL」および「Webサービス」の各フィールドには、複合的なWebサービス・データソースから自動的に移入されます。

    • 「メソッド」を選択します。

      選択可能なメソッドは、複合的なWebサービス・データソースに基づいて決まります。メソッドを選択すると、「パラメータ」が表示されます。オプション・パラメータを表示するには、「オプション・パラメータの表示」を選択します。

    • レスポンス・データXPath - レポート用のXMLデータの開始位置が、Webサービス・リクエストで生成されたレスポンスXMLの深い位置に埋め込まれている場合は、このフィールドを使用して、Oracle BI Publisherレポートに使用するデータのパスを指定します。

  2. 次のようにして、Webサービス・データ・セットに使用できるようにパラメータを定義します。
    • 「レポート」定義ペインで「パラメータ」を選択し、「新規」をクリックしてパラメータを作成します。

    • 次のパラメータ属性を選択します。

      • 名前 - パラメータの内部識別子を入力します。

      • データ型 - パラメータに適したデータ型を選択します。

      • デフォルト値 - パラメータのデフォルト値を入力します。

      • パラメータ・タイプ - 適切なパラメータ・タイプを選択します。

      • 表示ラベル - パラメータに表示するラベルを入力します。

      • テキスト・フィールド・サイズ - テキスト入力フィールドのサイズを文字数単位で入力します。

  3. Webサービス・データ・セットに戻り、パラメータを追加します。
    • Webサービス・データ・セットを選択してから、「選択したデータ・セットの編集」をクリックして「データ・セットの編集」ダイアログを開きます。

    • 次に示されているようにパラメータを設定します。
  4. Webサービスをテストする場合は、データ・モデルのテストとサンプル・データの生成を参照してください。

Webサービス・データ・セットについての追加情報

Webサービス・データ・セットから得られるメタデータは存在しないため、グループとリンクはサポートされません。

LDAP問合せを使用したデータ・セットの作成

BI Publisherでは、Lightweight Directory Access Protocol (LDAP)データソースに対する問合せをサポートしています。

LDAPディレクトリに格納されているユーザー情報を問い合せてから、データ・モデル・エディタを使用すると、そのユーザー情報をその他のデータソースから取得したデータとリンクできます。

たとえば、データベース・アプリケーションに格納されている従業員の給与情報をリストするレポートを生成するときに、LDAPディレクトリに格納されている従業員の電子メール・アドレスもレポートに含める場合、それぞれを対象にした問合せを作成し、次にそれらの2つをデータ・モデル・エディタでリンクすると、単一のレポートに情報を表示できます。次の図に、LDAP問合せの例を示します。

  1. ツールバーの「新規データ・セット」ボタンをクリックし、「LDAP問合せ」を選択します。
  2. 「新規データ・セット - LDAP問合せ」ダイアログで、このデータ・セットの名前を入力します。
  3. このデータ・セットの「データソース」を選択します。
  4. 「検索ベース」フィールドで、ディレクトリ・ツリー内を検索する開始ポイントを入力します。

    注意:

    「検索ベース」は、LDAPプロバイダがMicrosoft Active Directoryの場合に必要です。「検索ベース」では、ディレクトリ・ツリー内を検索する開始ポイントを定義します。たとえば、ディレクトリ全体を問い合わせる場合、rootを指定します。

    開始ポイントを指定するには、カンマで区切られた各階層のオブジェクトを、階層の最も下のレベルから入力します。たとえば、mycompany.comドメインでSalesコンテナを検索するには、次のように入力します。

    ou=Sales,dc=mycompany,dc=com
  5. 「属性」入力ボックスには、LDAPデータソースからフェッチする値を保持する属性を入力します。

    例:

    mail,cn,givenName

  6. 問合せにフィルタを適用するには、「フィルタ」入力ボックスに適切な構文を入力します。構文は次のとおりです。
    (Operator (Filter)through(Filter))
    

    例:

    (objectclass=person)
    

    LDAP検索フィルタは、Internet Engineering Task Force (IETF)のWebサイトにあるIETF Request for Comments文書2254、『The String Representation of LDAP Search Filters』(RFC 2254)で定義されています。

  7. この問合せからのデータを他の問合せからのデータにリンクさせるか、出力の構造に変更を加えます。この手順に関する指示は、データの構造化を参照してください。

XMLファイルを使用したデータ・セットの作成

XMLファイルを使用してデータソースを作成できます。

次のいずれかの操作を行います。

  • 管理者によってデータソースとして設定されたディレクトリに、XMLファイルを置きます。『Oracle Business Intelligence Publisher管理者ガイド』のファイル・データソースへの接続の設定に関する項を参照してください。

  • XMLファイルをローカル・ディレクトリからデータ・モデルにアップロードします。

注意:

BI Publisherのレイアウト・エディタとインタラクティブ・ビューアを使用するには、XMLファイル・ソースからのサンプル・データがデータ・モデルに保存されている必要があります。

サポートされるXMLファイルについて

BI Publisherのデータ・セット・タイプとしてのXMLファイルのサポートは、特定のガイドラインに従います。

  • BI Publisher データ・エンジンへの入力として使用されるXMLファイルは、UTF-8でエンコードされている必要があります。

  • XMLタグ名では、~、!、#、$、%、^、&、*、+、`、|、:、\"、\\、<、>、?、,、/を使用しないでください。データソース・ファイルにこれらの文字が含まれている場合は、データ・モデル・エディタの「構造」タブを使用して、受け入れられるタグ名に変更してください。

  • 有効なXMLファイルを使用します。Oracleは、XMLファイルを検証するための多数のユーティリティと方法を用意しています。

  • XMLファイル・データ・セットから得られるメタデータは存在しないため、グループとリンクはサポートされません。

ファイル・ディレクトリ・データソースに格納されたXMLファイルの使用

ディレクトリに格納されたXMLファイルを使用してデータ・セットを作成します。

ファイル・ディレクトリ・データソースにあるXMLファイルを使用してデータ・セットを作成するには:

  1. ツールバーの「新規データ・セット」をクリックし、「XMLファイル」を選択します。次に示されているように、「新規データ・セット - XMLファイル」ダイアログが開きます。
  2. データ・セットの名前を入力します。
  3. 「共有」をクリックして、「データソース」リストを有効にします。これは、デフォルトで選択されているオプションです。
  4. XMLファイルが存在する「データソース」を選択します。このリストは、構成済のファイル・データソース接続から移入されます。
  5. 「ファイル名」の右の「参照」をクリックし、データソースに接続して、使用可能なディレクトリの一覧から選択します。ファイルを選択します。
  6. 「OK」をクリックします。
  7. (必須)サンプル・データをデータ・モデルに保存します。データ・モデルのテストとサンプル・データの生成を参照してください。

ローカルに格納されたXMLファイルのアップロード

ローカルに格納されたXMLファイルを使用してデータ・セットを作成できます。

ローカルに格納されたXMLファイルを使用してデータ・セットを作成するには:

  1. ツールバーの「新規データ・セット」をクリックし、「XMLファイル」を選択します。新規データ・セット - 次に示されているように「XMLファイル」ダイアログが開きます。
  2. このデータ・セットの名前を入力します。
  3. 「ローカル」を選択します。「アップロード」ボタンが有効になります。
  4. 「アップロード」をクリックし、ローカル・ディレクトリにあるXMLファイルを選択してアップロードします。このファイルがすでにデータ・モデルにアップロードされている場合は、「ファイル名」リストから選択できるようになっています。
  5. 「アップロード」をクリックします。
  6. 「OK」をクリックします。
  7. (必須)サンプル・データをデータ・モデルに保存します。データ・モデルのテストとサンプル・データの生成を参照してください。

アップロードしたXMLファイルのリフレッシュと削除

アップロードされたローカルのXMLファイルはリフレッシュおよび削除できます。

次に示されているように、ファイルをアップロードすると、そのファイルはデータ・モデルの「プロパティ」ペインにある「添付」リージョンに表示されます。

「プロパティ」ペインの詳細は、データ・モデルのプロパティの設定を参照してください。

データ・モデル内のローカル・ファイルをリフレッシュするには:

  1. コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。

  2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。

  3. 「リフレッシュ」をクリックします。

  4. 「アップロード」ダイアログで、最新バージョンのファイルを参照してアップロードします。このファイルには同じ名前を付ける必要があります。別の名前を付けると古いバージョンは置き換えられません。

  5. データ・モデルを保存します。

ローカル・ファイルを削除するには:

  1. コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。
  2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。
  3. 「削除」をクリックします。
  4. 「OK」をクリックして確定します。
  5. データ・モデルを保存します。

コンテンツ・サーバーを使用したデータ・セットの作成

コンテンツ・サーバー・データソースへの接続を「管理」ページで設定し、複数のデータ・モデルで使用できます。

詳細は、Oracle Business Intelligence Publisher管理者ガイドのコンテンツ・サーバーへの接続の設定を参照してください。

データ・モデルを作成する前に接続を設定する必要があります。最初にSQL問合せデータ・セット(必須)を作成してからコンテンツ・サーバー・データ・セットを作成して、データ・モデルを作成します。
  1. 「新規データ・セット」ツールバー・ボタンをクリックして「コンテンツ・サーバー」を選択します。
    「新規データ・セット - コンテンツ・サーバー」ダイアログで、次のように実行します。
  2. データ・セットの名前を「名前」フィールドに入力します。
  3. 「データソース」フィールドでコンテンツ・サーバーのデータソースを選択します。
  4. LOVから「親グループ」を選択します。
  5. LOVから「ドキュメントID」を選択します。
  6. LOVから「コンテンツ・タイプ」を選択します。
  7. 「OK」をクリックします。

Microsoft Excelファイルを使用したデータ・セットの作成

これらのトピックでは、Microsoft Excelファイルをデータソースとして使用するための要件、オプションおよび手順について説明します。

ExcelファイルをBI Publisherにアップロードするためのオプション

Microsoft Excelファイルをデータソースとして使用するには、ファイルをBI Publisherに渡すための2つの方法があります。

  • データソースとして管理者が設定したディレクトリにファイルを格納します。『Oracle Business Intelligence Publisher管理者ガイド』のファイル・データソースへの接続の設定に関する項を参照してください。

  • ローカル・ディレクトリからデータ・モデルにファイルをアップロードします。

サポートされるExcelファイルについて

Oracle BI Publisherのデータ・セット・タイプとしてのMicrosoft Excelファイルのサポートは特定のガイドラインに従います。

  • Microsoft Excelファイルは、Microsoft Excelを使用してExcel 97-2003のワークブック(*.xls)形式で保存します。サード・パーティ製のアプリケーションやライブラリで作成されたファイルは、サポートされません。

  • ソースのExcelファイルの中のシートは、単一でも複数でもかまいません。

  • 各ワークシートに、1つ以上の表を入れることができます。1つの表とは、1つのシート内の連続した行と列に配置されたデータのブロックです。

    それぞれの表について、Oracle BI Publisherは、常に最初の行を表のヘッダー行と見なします。

  • 見出し行の下の最初の行は空にしないでください。表の列のタイプを決定するために使用されます。この表内のデータ型は、数値、テキストまたは日付/時間にできます。

  • 単一のワークシート内に複数の表が存在する場合は、それぞれをBI Publisherで認識するために、名前で識別される必要があります。シートごとの複数の表のアクセスを参照してください。

  • Excelファイル内の表のすべてに名前が付けられていない場合は、最初の表のデータのみが認識され、そのデータのみがフェッチされます。

  • データ・セットの作成時、BI Publisherは、数値に対して常に小数点以下の末尾のゼロをすべて切り捨てます。最終的なレポートで末尾のゼロを保持するには、そのゼロが表示されるように、テンプレートで書式マスクを適用する必要があります。『Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』の数値、日付および通貨の書式設定に関する項を参照してください。

  • 単一値パラメータはサポートされますが、複数値パラメータはサポートされません。

シートごとの複数の表のアクセス

Excelワークシートにデータソースとして含める複数の表が格納されている場合は、Excelで、それぞれの表に名前を定義する必要があります。

注意:

定義する名前は、接頭辞BIP_で始まる必要があります(例: BIP_SALARIES)。

  1. Excelで表を挿入します。
  2. 次のいずれかを行います:
    • Excel 2003を使用して、表を選択します。「挿入」メニューで、「名前」「定義」の順にクリックします。接頭辞のBIP_を付けた名前を入力します。
    • Excel 2007を使用して、表を選択します。「数式」タブの「定義された名前」グループ内で、「名前の定義」をクリックして、「名前」フィールドに名前を入力します。入力した名前が「数式」バーに表示されます

たとえば、Microsoft Excel 2007の「名前の定義」コマンドを使用して、表にBIP_Salariesという名前を付けることができます。

ファイル・ディレクトリ・データソースに格納されたMicrosoft Excelファイルの使用

ディレクトリに格納されたMicrosoft Excelファイルを使用してデータ・セットを作成します。

データ・セットにパラメータを含めるには、最初にパラメータを定義して、それらのパラメータをデータ・セットの定義時に選択できるようにしておく必要があります。「パラメータと値リストの追加」を参照してください。

注意:

Excelデータ・セット・タイプでは、パラメータごとに1つの値がサポートされます。複数パラメータの選択はサポートされていません。

ファイル・ディレクトリ・データソースにあるMicrosoft Excelファイルを使用してデータ・セットを作成するには:

  1. ツールバーの「新規データ・セット」ボタンをクリックし、「Microsoft Excelファイル」を選択します。「新規データ・セット - Microsoft Excelファイル」ダイアログが開きます。
  2. このデータ・セットの名前を入力します。
  3. 「共有」をクリックして、「データソース」リストを有効にします。
  4. Microsoft Excelファイルが存在するデータソースを選択します。
  5. 「ファイル名」フィールドの右にある参照アイコンをクリックして、データソース・ディレクトリ内のMicrosoft Excelファイルを参照します。ファイルを選択します。
  6. 次に示されているように、Excelファイルに複数のシートや表が含まれている場合にはこのデータ・セットに適した「シート名」および「表名」を選択します。
  7. このデータ・セットにパラメータを追加する場合は、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。単一値パラメータのみがサポートされます。「パラメータと値リストの追加」を参照してください。
  8. 「OK」をクリックします。
  9. この問合せからのデータを他の問合せからのデータにリンクさせるか、出力の構造に変更を加えます。問合せどうしをリンクさせる方法の詳細は、データの構造化を参照してください。

ローカルに格納されたMicrosoft Excelファイルのアップロード

ローカルのMicrosoft Excelファイルをデータソースとして使用するには、最初にそのファイルをアップロードする必要があります。

データ・セットにパラメータを含めるには、最初にパラメータを定義して、そのパラメータをデータ・セットの定義時に選択できるようにしてください。「パラメータと値リストの追加」を参照してください。

注意:

Excelデータ・セット・タイプでは、パラメータごとに1つの値がサポートされます。複数パラメータの選択はサポートされていません。

ローカルに格納されたMicrosoft Excelファイルを使用してデータ・セットを作成するには:

  1. ツールバーの「新規データ・セット」ボタンをクリックし、「Microsoft Excelファイル」を選択します。「データ・セットの作成 - Excel」ダイアログが開きます。
  2. このデータ・セットの名前を入力します。
  3. 「ローカル」を選択して、アップロード・ボタンを有効にします。
  4. 「アップロード」アイコンをクリックし、ローカル・ディレクトリのMicrosoft Excelファイルを参照して、アップロードします。このファイルがすでにデータ・モデルにアップロードされている場合は、「ファイル名」リストから選択できます。
  5. 次に示されているように、Excelファイルに複数のシートや表が含まれている場合にはこのデータ・セットに適した「シート名」および「表名」を選択します。
  6. このデータ・セットにパラメータを追加する場合は、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。単一値パラメータのみがサポートされます。「パラメータと値リストの追加」を参照してください。
  7. 「OK」をクリックします。
  8. この問合せからのデータを他の問合せからのデータにリンクさせるか、出力の構造に変更を加えます。問合せどうしをリンクさせる方法の詳細は、データの構造化を参照してください。

アップロードしたExcelファイルのリフレッシュと削除

アップロードされたローカルのExcelファイルはリフレッシュおよび削除できます。

次に示されているように、ファイルをアップロードすると、そのファイルはデータ・モデルの「プロパティ」ペインにある「添付」リージョンに表示されます。

「プロパティ」ペインの詳細は、データ・モデルのプロパティの設定を参照してください。

データ・モデル内のローカル・ファイルをリフレッシュするには:

  1. コンポーネント・ペインで「データ・モデル」をクリックして、「プロパティ」ページを表示します。

  2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。

  3. 「リフレッシュ」をクリックします。

  4. 「アップロード」ダイアログで、最新バージョンのファイルを参照してアップロードします。このファイルには同じ名前を付ける必要があります。別の名前を付けると古いバージョンは置き換えられません。

  5. データ・モデルを保存します。

ローカル・ファイルを削除するには:

  1. コンポーネント・ペインで「データ・モデル」をクリックして、「プロパティ」ページを表示します。
  2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。
  3. 「削除」をクリックします。
  4. 「OK」をクリックして確定します。
  5. データ・モデルを保存します。

CSVファイルを使用したデータ・セットの作成

BI PublisherではCSVファイル・データソースを使用して有効なXMLデータを返すデータ・セットをサポートしています。

次のトピックでは、CSVをデータソースとして使用するための要件および手順について説明します:

サポートされるCSVファイルについて

BI Publisherのデータ・セット・タイプとしてのCSVファイルのサポートは特定のガイドラインに従います。

  • 管理者がデータソースとして設定したディレクトリに配置されたCSVファイルを使用できます。『Oracle Business Intelligence Publisher管理者ガイド』のファイル・データソースへの接続の設定に関する項を参照してください。

    ローカル・ディレクトリからファイルをアップロードできます。

  • CSVファイルのデリミタとしてサポートされるのは、カンマ、パイプ、セミコロンおよびタブです。

  • CSVファイルの中にヘッダーがある場合は、ヘッダーの名前がXMLタグ名として使用されます。XMLタグ名では、~、!、#、$、%、^、&、*、+、`、|、:、\"、\\、<、>、?、,、/はサポートされません。データソース・ファイルのヘッダー名にこれらの文字が含まれている場合は、データ・モデル・エディタの「構造」タブを使用してタグ名を編集してください。

  • CSVデータ・セットでは、データ・モデル・エディタによって割り当てられたデータ型の編集がサポートされます。「データ型の編集」を参照してください。データ・セット内の要素のデータ型を更新する場合は、選択したデータ型にファイル内のデータが準拠していることを確認してください。

  • Oracle BI Publisherデータ・エンジンへの入力として使用されるCSVファイルは、UTF-8でエンコードされている必要があります。また、空の列ヘッダーを含めることはできません。

  • グループのブレーク、データのリンク、式およびグループ・レベル関数はサポートされません。

  • CSVファイル内のデータ・フィールドの形式は、マッピングされる日付要素については標準ISOデータ書式(例: 2012-01-01T10:30:00-07:00)を使用し、マッピングされる数値要素については######.##を使用する必要があります。

  • CSVファイルに対するデータ検証は用意されていません。

集中格納されたCSVファイルからのデータ・セットの作成

ファイル・ディレクトリからCSVファイルを使用してデータ・セットを作成できます。

  1. データ・モデル・エディタのツールバーの「新規データ・セット」をクリックし、「CSVファイル」を選択します。「新規データ・セット - CSVファイル」ダイアログが開きます。
  2. このデータ・セットの名前を入力します。
  3. 「共有」をクリックして、「データソース」リストを有効にします。
  4. 「データソース」で、CSVファイルが存在するデータソースを選択します。
    このリストは、構成済のファイル・データソース接続から移入されます。
  5. 「参照」をクリックしてデータソースに接続し、使用可能なディレクトリを参照し、ファイルを選択します。
  6. ファイルの最初の行に列名が格納されていることを指定するには、「最初の行は列ヘッダーです」を選択します。
    このオプションを選択しない場合は、列にはColumn1Column2のような汎用名が割り当てられます。XMLタグ名および表示名は、データ・モデル・エディタの「構造」タブで編集できます。
  7. 「CSVデリミタ」で、ファイルで使用されているデリミタを選択します。
    デフォルトでは「カンマ(,)」が選択されます。
  8. 「OK」をクリックします。

ローカルに格納されたCSVファイルのアップロード

ローカル・ファイル・ディレクトリに格納されたCSVファイルを使用してデータ・セットを作成します。

ローカルに格納されたCSVファイルを使用してデータ・セットを作成するには:

  1. ツールバーの「新規データ・セット」をクリックし、「CSVファイル」を選択します。次に示されているように、「新規データ・セット - CSVファイル」ダイアログが開きます。
  2. このデータ・セットの名前を入力します。
  3. 「ローカル」を選択します。「アップロード」ボタンが有効になります。
  4. 「アップロード」をクリックし、ローカル・ディレクトリにあるCSVファイルを選択してアップロードします。このファイルがすでにデータ・モデルにアップロードされている場合は、「ファイル名」リストから選択できるようになっています。
  5. (省略可能)ファイルの最初の行に列名が格納されていることを指定するには、「最初の行は列ヘッダーです」を選択します。このオプションを選択しない場合は、列にはColumn1、Column2のような汎用名が割り当てられます。割り当てられたXMLタグ名および表示名は、データ・モデル・エディタの「構造」タブで編集できます。
  6. 「CSVデリミタ」で、ファイルで使用されているデリミタを選択します。デフォルトでは「カンマ(,)」が選択されます。
  7. 「OK」をクリックします。

データ型の編集

CSVファイル・データ型のアップロード後、必要に応じて編集できます。

CSVファイル要素のデータ型を編集するには、データ型アイコンをクリックするか、要素の「プロパティ」ダイアログで更新します。

要素のデータは、割り当てられたデータ型に準拠している必要があります。ユーザー・インタフェースには、データ型を更新するときにデータを検証する機能はありません。データが一致しない場合(たとえば、整数として定義された要素に対して文字列値が存在する場合)は、レイアウト編集ツールで、または実行時にエラーが発生する可能性があります。

データ型を更新できるのは、データソースがCSVファイルの場合のみです。

アップロードしたCSVファイルのリフレッシュと削除

アップロードされたローカルのCSVファイルはリフレッシュおよび削除できます。

次に示されているように、ファイルをアップロードすると、そのファイルはデータ・モデルの「プロパティ」ペインにある「添付」リージョンに表示されます。

「プロパティ」ペインの詳細は、データ・モデルのプロパティの設定を参照してください。

データ・モデル内のローカル・ファイルをリフレッシュするには:

  1. コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。

  2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。

  3. 「リフレッシュ」をクリックします。

  4. 「アップロード」ダイアログで、最新バージョンのファイルを参照してアップロードします。このファイルには同じ名前を付ける必要があります。別の名前を付けると古いバージョンは置き換えられません。

  5. データ・モデルを保存します。

ローカル・ファイルを削除するには:

  1. コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。
  2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。
  3. 「削除」をクリックします。
  4. 「OK」をクリックして確定します。
  5. データ・モデルを保存します。

HTTP XML入力からのデータ・セットの作成

HTTP (XML入力)データ・セット・タイプを使用すると、HTTP GETメソッドでデータを取得して、Web上のRSSフィードおよびXML入力からデータ・モデルを作成できます。

注意:

システムのセキュリティに応じて、外部データソースのフィードにアクセスするために追加の構成が必要になることがあります。RSSフィードがSecure Sockets Layer (SSL)によって保護されている場合は、『Oracle Business Intelligence Publisher管理者ガイド』のSecure Socket Layer (SSL)通信用のBI Publisherの構成に関する項を参照してください。

データ・セットにパラメータを含めるには、先にパラメータを定義して、そのパラメータをデータ・セットの定義時に選択できるようにすることをお薦めします。「パラメータと値リストの追加」を参照してください。

HTTP XML入力データ・セットから得られるメタデータは存在しないため、グループとリンクはサポートされません。

HTTP XMLデータ・セットからのデータ・セットの作成

HTTP (XML入力)データソースは2つの異なる方法によって設定できます。

  • 「管理」ページ:

    HTTPデータソースへの接続を「管理」ページで設定し、複数のデータ・モデルで使用できます。『Oracle Business Intelligence Publisher管理者ガイド』のHTTP XMLフィードへの接続の設定に関する項を参照してください。

  • プライベート・データソースとして:

    自分のみアクセス可能なプライベート接続を設定することもできます。プライベート・データソース接続の詳細は、プライベート・データソースの管理を参照してください。

  1. ツールバーの「新規データ・セット」をクリックし、「HTTP(XML入力)」を選択します。「新規データ・セット - 次に示されているように、HTTP(XML入力)」ダイアログが開きます。
  2. このデータ・セットの名前を入力します。
  3. データソースを選択します。
  4. RSSフィードまたはXML入力のURL接尾辞を入力します。
  5. 「メソッド」で「GET」を選択します。
  6. パラメータを追加するには、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。
    「パラメータと値リストの追加」を参照してください。
  7. 「OK」をクリックして、データ・セットのダイアログを閉じます。

キャラクタ・ラージ・オブジェクト(CLOB)として格納されたデータのデータ・モデル内での使用方法

BI Publisherでは、キャラクタ・ラージ・オブジェクト(CLOB)データ型として格納されたデータのデータ・モデル内での使用をサポートしています。この機能によって、別のプロセスで生成してデータベースに保存してあるXMLデータを、BI Publisherデータ・モデルへの入力として使用できます。

クエリー・ビルダーを使用して、SQL問合せで列を取得してから、データ・モデル・エディタを使用して、必要なデータ構造を指定します。データ・モデルの実行時に、データ・エンジンは次のいずれかの形式でデータを構造化します。

  • レポートに表示できるXMLタグ名内のプレーンな文字セット(例: 項目の説明)

  • 構造化XML

注意:

必ずデータに改行またはキャリッジ・リターンが含まれないようにしてください。データ内の改行およびキャリッジ・リターンは、BI Publisherレポートのレイアウトで予期したように表示されないことがあります。

CLOBとして格納されたデータからデータ・セットを作成するには:

  1. ツールバーの「新規データ・セット」をクリックし、「SQL問合せ」を選択します。「新規データ・セット - SQL問合せ」ダイアログが開きます。
  2. データ・セットの名前を入力します。
  3. このデータ・セットのデフォルト・データソースを使用しない場合は、リストから「データソース」を選択します。
  4. SQL問合せを入力するか、「クエリー・ビルダー」を使用してCLOBデータ列を取得する問合せを作成します。クエリー・ビルダー・ユーティリティの詳細は、SQLクエリー・ビルダーの使用を参照してください。たとえば、「DESCRIPTION」という名前の列にCLOBデータが格納されている問合せを作成できます。
  5. 問合せの入力後に、「OK」をクリックして保存します。BI Publisherによって、問合せが検証されます。
  6. デフォルトでは、データ・モデル・エディタはCLOB列にCLOBデータ型を割り当てます。データ型をXMLに変更するには、データ型アイコンをクリックして「XML」を選択します。

データが返される方法

問合せの実行時、CLOB列に整形式XMLが含まれていると、データ・エンジンはCLOB列のタグ名内に構造化されたXMLデータを返します。

データ型がXMLの場合の出力例:

<DESCRIPTION>要素には、次に示されているようにCLOB列内に格納されたXMLデータが含まれています。

データ型がCLOBの場合の出力例:

CLOBデータ型としてデータが返されるように選択している場合、返されるデータは次に示されているように構造化されます。

CLOB列データを使用したデータ・セットの注意点

詳細は、CLOB列データで参照できます。

バースティング問合せでCLOB列を使用する際に特有の注意点は、バースティング定義のデータ・モデルへの追加を参照してください。

CLOB列に格納されたXHTMLデータの処理

BI Publisherでは、データベースのCLOB列に格納されたXHTML文書形式のデータを取得して、生成されたレポートでマークアップをレンダリングできます。

BI Publisherレポート・レンダリング・エンジンでマークアップ・タグを処理できるようにするには、データ・エンジンから渡されたXMLレポート・データ内で、XHTMLデータをCDATAセクション内にラッピングする必要があります。

CDATAセクションでラッピングされたデータをデータベースに格納することをお薦めします。これにより、単純なSELECT文を使用してデータを抽出できます。データがCDATAセクション内にラッピングされていない場合は、そのデータをラッピングするための命令をSQL文に含める必要があります。

次の各項では、それぞれの場合でXHTMLデータを抽出する方法について説明しています。

マークアップをレポート内に表示するには、Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイドのレポートでHTML形式のデータをレンダリングする方法に記載されている構文を使用する必要があります。この項には、サポートされるHTML形式についての説明もあります。レポート内でのHTMLマークアップのレンダリングは、RTFテンプレートに対してのみサポートされます。

CDATA内にラッピングされたXHTMLデータの取得

ここでは、次のデータがCLOB_DATAというデータベース列に格納されていると仮定します。

<![CDATA[
<p><font style="font-style: italic; font-weight: bold;" size="3">
<a href="http://www.oracle.com">oracle</a></font> </p>
<p><font size="6"><a href="http://docs.oracle.com/">Oracle Documentation</a>
</font></p>
]]>

次の例に示すような単純なSQL文を使用して列データを取得します。

select CLOB_DATA as "RTECODE" from MYTABLE

次に示されているように、データ・モデル・エディタでRTECODE列のデータ型をXMLに設定します。

問合せでのCDATA内へのXHTMLデータのラッピング

ここでは、次のデータがCLOB_DATAというデータベース列に格納されていると仮定します。

<p><font style="font-style: italic; font-weight: bold;" size="3">
<a href="http://www.oracle.com">oracle</a></font> </p>
<p><font size="6"><a href="http://docs.oracle.com/">Oracle Documentation</a>
</font></p>

次の構文をSQL問合せ内で使用して、そのデータを取得し、それをCDATAセクション内にラッピングします。

select '<![CDATA' || '['|| CLOB_DATA || ']' || ']>' as "RTECODE"from MYTABLE

データ・モデル・エディタで、RTECODE列のデータ型をXMLに設定します。

データ・モデルのテストとサンプル・データの生成

データ・モデル・エディタにはデータ・モデルをテストして出力を表示する機能があり、期待した結果が得られることを確認できます。

テストが正常に完了した後で、テスト出力をデータ・モデルのサンプル・データとして保存するかどうかを選択できます。エクスポート機能を使用してサンプル・データをファイルにエクスポートすることもできます。データ・モデルの実行が失敗した場合は、データ・エンジン・ログを表示してください。

データ・モデルをテストするには:

  1. 次に示されているように、データ・モデル・エディタの「データ」タブを選択します。

  2. 「SQL問合せ」、「Oracle BI Analysis」および「ビュー・オブジェクト」のデータ・セットの場合: 「データ」タブで、返す行の数を選択します。パラメータが含まれている場合は、テスト用に適切な値を入力します。

  3. 「表示」をクリックして、データ・モデルから返されるXMLを表示します。

  4. 次のオプションのいずれかを選択してサンプル・データを表示します。

    • 「ツリー表示」を使用して、サンプル・データをデータ階層として表示します。これがデフォルトの表示オプションです。

    • 「表ビュー」を使用して、サンプル・データを、BI Publisherのレポートと同様の書式設定済の表として表示します。

    このデータ・モデルに基づいてレポートを作成できます。

テスト・データをデータ・モデル用のサンプル・データとして保存するには:

  1. データ・モデルの実行が正常に完了したら、「サンプル・データとして保存」をクリックします。サンプル・データがデータ・モデルに保存されます。詳細は、データ・モデルへの添付の追加を参照してください。

テスト・データをエクスポートするには:

  1. 「SQL問合せ」、「Oracle BI Analysis」および「ビュー・オブジェクト」のデータ・セットの場合: 「データ」タブで、返す行の数を選択します。

  2. データ・モデルの実行が正常に完了したら、「エクスポート」をクリックします。ファイルを開く、またはローカル・ディレクトリに保存するための画面が表示されます。

データ・エンジン・ログを表示するには:

  1. データ・エンジン・ログの表示をクリックします。ファイルを開く、またはローカル・ディレクトリに保存するための画面が表示されます。データ・エンジン・ログ・ファイルは、XMLファイルです。

UCMデータセットをテストするには:

コンテンツ・サーバーの場合、ドキュメントIDおよびコンテンツ・タイプに基づいてドキュメント・コンテンツがコンテンツ(UCM)サーバーから取得されます。

注意:

ドキュメントIDが空かnullの場合、ドキュメント・コンテンツは空になります。

システム変数に格納されたユーザー情報をレポート・データに含める方法

BI Publisherは、現在のユーザーについての情報を格納します。この情報には、レポート・データ・モデルからアクセスできます。

このユーザー情報は、次に説明するシステム変数に格納されています。

システム変数 説明

xdo_user_name

レポートを実行しているユーザーのユーザーID。例: Administrator

xdo_user_roles

レポートを実行しているユーザーに割り当てられたロール。例: XMLP_ADMIN、XMLP_SCHEDULER

xdo_user_report_oracle_lang

ユーザーのアカウント・プリファレンスに基づくレポート言語。例: ZHS

xdo_user_report_locale

ユーザーのアカウント・プリファレンスに基づくレポート・ロケール。例: en-US

xdo_user_ui_oracle_lang

ユーザーのアカウント・プリファレンスに基づくユーザー・インタフェース言語。例: US

xdo_user_ui_locale

ユーザーのアカウント・プリファレンスに基づくユーザー・インタフェース・ロケール。例: en-US

ユーザー・システム変数を要素として追加する方法

ユーザー情報をデータ・モデルに追加するには、パラメータとして変数を定義して、データ・モデルでパラメータ値を要素として定義します。

また、単にパラメータとして変数を追加して、そのパラメータ値をレポート内で参照できます。

次の問合せがあるとします。

select
:xdo_user_name as USER_ID,
:xdo_user_roles as USER_ROLES,
:xdo_user_report_oracle_lang as REPORT_LANGUAGE,
:xdo_user_report_locale as REPORT_LOCALE,
:xdo_user_ui_oracle_lang as UI_LANGUAGE,
:xdo_user_ui_locale as UI_LOCALE
from dual

次の結果が戻されます。

<?xml version="1.0" encoding="UTF-8"?>
<! - Generated by Oracle BI Publisher - >
<DATA_DS>
<G_1>
<USER_ROLES>XMLP_TEMPLATE_DESIGNER, XMLP_DEVELOPER, XMLP_ANALYZER_EXCEL, XMLP_ADMIN, XMLP_ANALYZER_ONLINE, XMLP_SCHEDULER </USER_ROLES>
<REPORT_LANGUAGE>US</REPORT_LANGUAGE>
<REPORT_LOCALE>en_US</REPORT_LOCALE>
<UI_LANGUAGE>US</UI_LANGUAGE>
<UI_LOCALE>en_US</UI_LOCALE>
<USER_ID>administrator</USER_ID>
</G_1>
</DATA_DS>

使用事例: 返されるデータ・セットのユーザーIDによる制限

次の例では、返されるデータをユーザーIDで制限しています。

select EMPLOYEES.LAST_NAME as LAST_NAME,
  EMPLOYEES.PHONE_NUMBER as PHONE_NUMBER,
  EMPLOYEES.HIRE_DATE as HIRE_DATE,
 :xdo_user_name as USERID 
from   HR.EMPLOYEES EMPLOYEES
where lower(EMPLOYEES.LAST_NAME) = :xdo_user_name

lower()関数を使用しているため、xdo_user_nameは必ず小文字の書式になります。BI PublisherはUSERIDを保持しないため、ユーザー名を使用する必要があります。このユーザー名を問合せ内で直接使用するか、参照表に問い合せてユーザーIDを検索します。

LDAPユーザー属性値からのバインド変数の作成

LDAPディレクトリに格納されたユーザー属性の値をデータ問合せにバインドするには、BI Publisherに属性名を定義して、必要なバインド変数を作成します。

前提条件

バインド変数の作成に使用できる属性は、管理者が「セキュリティ構成」ページで定義する必要があります。

この属性は、LDAPの「セキュリティ・モデル」定義にある「データ問合せバインド変数の属性名」フィールドで定義します。『Oracle Business Intelligence Publisher管理者ガイド』の認証および認可にLDAPプロバイダを使用するためのBI Publisherの構成に関する項を参照してください。ユーザーに対して定義された任意の属性を使用できます(例: memberOf、sAMAccountName、primaryGroupID、mail)。

BI Publisherによるバインド変数の構成方法

LDAPの「セキュリティ・モデル」定義にある「データ問合せバインド変数の属性名」フィールドに入力した属性名は、問合せ内で参照できます。

次に、バインド変数の構築方法を示します:

xdo_<attribute name>

たとえば、サンプル属性のmemberOf、sAMAccountName、primaryGroupID、mailが入力済だと仮定します。これらの属性は、次のバインド変数として問合せ内で使用できます。

xdo_memberof
xdo_SAMACCOUNTNAME
xdo_primaryGroupID
xdo_mail

属性については大文字と小文字が区別されませんが、接頭辞のxdo_は小文字にする必要があります。

これらのバインド変数は、データ・モデル内で次のように使用します。

SELECT
:xdo_user_name AS USER_NAME,
:xdo_user_roles AS USER_ROLES,
:xdo_user_ui_oracle_lang AS USER_UI_LANG,
:xdo_user_report_oracle_lang AS USER_REPORT_LANG,
:xdo_user_ui_locale AS USER_UI_LOCALE,
:xdo_user_report_locale AS USER_REPORT_LOCALE,
:xdo_SAMACCOUNTNAME AS SAMACCOUNTNAME,
:xdo_memberof as MEMBER_OF,
:xdo_primaryGroupID as PRIMARY_GROUP_ID,
:xdo_mail as MAIL
FROM DUAL

LDAPバインド変数は、ユーザーがログインしているLDAPディレクトリに格納された値を返します。