Oracle® Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド 11g リリース1 (11.1.1) B66712-03 |
|
前 |
次 |
この章では、BI Publisherでのデータ・セットの作成について説明します。データ・セットは、SQL問合せ、MDX問合せ、LDAP問合せ、Microsoft Excelワークシート、Webサービス、XMLファイルを含む様々なソースから作成できます。この章では、データ・モデルをテストしてサンプル・データを保存する方法についても説明します。
この章の内容は次のとおりです。
Oracle BI Publisherでは、いくつかのタイプのデータソースからデータを取得できます。
データ・モデル・エディタのコンポーネント・ペインで「データ・セット」をクリックします。このデータ・モデル用のすべてのデータ・セットが、作業ペインに表示されます。
編集するデータ・セットをクリックします。
「選択したデータ・セットの編集」をクリックします。データ・セットのダイアログが開きます。データ・セットの各タイプの詳細は、この章内で対応する項を参照してください。
データ・セットに変更を加えて、「OK」をクリックします。
データ・モデルを保存します。
編集したデータ・モデルをテストして、新しいサンプル・データを追加します。テストとサンプル・データ生成の方法の詳細は、第2.16項「データ・モデルのテストとサンプル・データの生成」を参照してください。
この項の内容は次のとおりです。
SQL問合せを入力するには:
「新規データ・セット」をクリックし、「SQL問合せ」をクリックします。「データ・セットの作成 - SQL」ダイアログが開きます(図2-3を参照)。
データ・セットの名前を入力します。
データソースのデフォルトは、「プロパティ」ページで選択されたデフォルトのデータソースです。このデータ・セットのデフォルト・データソースを使用しない場合は、リストから「データソース」を選択します。
プライベート・データソース接続をSQL問合せデータ・セットのデータソースとして使用することもできます。プライベート・データソース接続の詳細は、第1.7.3項「プライベート・データソースの管理」を参照してください。
SQL問合せを入力するか、「クエリー・ビルダー」をクリックして「クエリー・ビルダー」ページを開きます。クエリー・ビルダー・ユーティリティの詳細は、第2.3.2項「SQLクエリー・ビルダーの使用」を参照してください。
問合せ内でフレックスフィールドやバインド変数などの特別な処理を使用する場合は、クエリー・ビルダーから返されたSQLを編集して必要な文を組み込みます。
注意: SELECT文に埋め込んだテキストの字句参照を含める場合は、有効なSQL文が得られるように値を置き換える必要があります。 |
問合せの入力後に、「OK」をクリックして保存します。この問合せは、データ・モデル・エディタによって検証されます。
問合せにバインド変数が含まれているときには、バインド・パラメータの作成を促すプロンプトが表示されます。「OK」をクリックして、データ・モデル・エディタでバインド・パラメータを作成します。
パラメータの編集方法の詳細は、第4章「パラメータと値リストの追加」を参照してください。
コーディングせずにSQL問合せを作成するには、クエリー・ビルダーを使用します。クエリー・ビルダーを使用すると、SQLに関する最小限の知識で、データベース・オブジェクトの検索とフィルタ処理、オブジェクトと列の選択、オブジェクト間の関連の作成、および書式設定された問合せ結果の表示を行うことができます。
この項では、クエリー・ビルダーの使用方法について説明します。この項の内容は次のとおりです。
「クエリー・ビルダー」ページは、次の2つのセクションに分割されています。
「オブジェクト選択」ペインには、問合せの作成に使用できるオブジェクトのリストが表示されます。表示されるのは、現在のスキーマのオブジェクトのみです。
設計と出力ペインは、次の4つのタブで構成されています。
モデル - 「オブジェクト選択」ペインから選択したオブジェクトが表示されます。
条件 - 選択した列に条件を適用できます。
SQL - 問合せが表示されます。
結果 - 問合せの結果が表示されます。
問合せを作成するには:
「オブジェクト選択」ペインからオブジェクトを選択します。
オブジェクトを「設計」ペインに追加し、列を選択します。
(省略可能)オブジェクト間の関係を確立します。
すべての重複列に一意の別名を追加します。
(省略可能)問合せ条件を作成します。
問合せを実行して結果を表示します。
「オブジェクト選択」ペインでは、スキーマを選択したり、オブジェクトの検索およびフィルタ処理ができます。
「オブジェクト選択」ペインを非表示にするには、このペインと「設計」ペインの間にあるコントロール・バーを選択します。このバーを再度選択すると、ペインが表示されます。
「スキーマ」リストには、データソースで使用可能なすべてのスキーマが表示されます。ただし、リスト内にアクセスできないスキーマがある場合があります。
「検索」フィールドを使用して、検索文字列を入力します。データソースに100を超える表がある場合は、この「検索」機能を使用して、目的のオブジェクトを検索および選択する必要があります。
「オブジェクト選択」ペインには、選択したスキーマの表、ビューおよびマテリアライズド・ビューがリストされます(Oracleデータベースの場合、シノニムもリストされます)。リストからオブジェクトを選択すると、そのオブジェクトが「設計」ペインに表示されます。「設計」ペインを使用して、選択したオブジェクトを問合せで使用する方法を特定します。
すべてのタイプの列がオブジェクトとして「設計」ペインに表示されます。列に関する次の制限に注意してください。
各問合せで選択できる列の数は60以下です。
選択できるのは次の列タイプのみです。
VARCHAR2、CHAR
NUMBER
DATE、TIMESTAMP
注意: データ型TIMESTAMP WITH LOCAL TIMEZONEは、サポートされていません。 |
バイナリ・ラージ・オブジェクト(BLOB)
注意: BLOBはイメージです。クエリー・ビルダーで問合せを実行すると、BLOBは「結果」ペインに表示されませんが、問合せはデータ・モデル・エディタに保存されるときに正しく作成されます。 |
キャラクタ・ラージ・オブジェクト(CLOB)
データ・モデル内でCLOBデータを使用する方法の詳細は、第2.13項「キャラクタ・ラージ・オブジェクト(CLOB)として格納されたデータのデータ・モデル内での使用方法」を参照してください。
「設計」ペインにオブジェクトを追加するには:
オブジェクトを選択します。
選択したオブジェクトが「設計」ペインに表示されます。データ型を表すアイコンが列名の横に表示されます。
問合せに含める各列のチェック・ボックスを選択します。
列を選択すると、その列が「条件」タブに表示されます。この「条件」タブの「表示」チェック・ボックスは、問合せ結果に列を含めるかどうかを制御することに注意してください。デフォルトでは、このチェック・ボックスは選択されています。
最初の20列を選択するには、オブジェクトの左上隅にある小さいアイコンをクリックし、すべてチェックを選択します。
問合せを実行して結果を表示するには、「結果」を選択します。
ヒント: 問合せの実行には、[CTRL]キーを押しながら[ENTER]キーを押すことでもできます。 |
オブジェクトを選択するときは、「設計」ペインと「結果」ペインの間にある灰色の水平線を選択してドラッグすると、ペインのサイズを変更できます。
オブジェクトを削除するには:
オブジェクトの右上隅にある「削除」をクリックします。
オブジェクト内の列を一時的に非表示にするには:
「列の表示/非表示」をクリックします。
条件を使用すると、作業対象のデータをフィルタ処理して識別できます。オブジェクト内の列を選択するときは、「条件」タブで条件を指定できます。これらの属性を使用して、列別名の変更、列条件の適用、列のソート、または関数の適用を行うことができます。図2-5は、「条件」タブを示しています。
表2-1に、「条件」タブで使用できる属性の説明を示します。
表2-1 「条件」タブで使用できる属性
条件属性 | 説明 |
---|---|
上矢印および下矢印 |
問合せ結果内の列の表示順序を制御します。 |
列 |
列名を表示します。 |
別名 |
列別名を指定します(オプション)。別名とは列名の別称です。別名は、列名をわかりやすくする場合、列名を短くする場合、またはあいまいな参照を防ぐ場合に使用します。別名にはマルチバイト・キャラクタはサポートされないので注意してください。 |
オブジェクト |
オブジェクト名が表示されます。 |
条件 |
条件によって、問合せのWHERE句が変更されます。列条件を指定するときは、適切な演算子およびオペランドを含める必要があります。標準のSQL条件はすべてサポートされています。次に例を示します。 >=10 ='VA' IN (SELECT dept_no FROM dept) BETWEEN SYSDATE AND SYSDATE + 15 |
ソート・タイプ |
ASC(昇順)またはDESC(降順)を選択します。 |
ソート順序 |
数値(1、2、3など)を入力して、選択した列の表示順序を指定します。 |
表示 |
問合せ結果に列を含める場合は、このチェック・ボックスを選択します。フィルタ処理のためにのみ列を問合せに追加する場合は、「表示」を選択する必要はありません。たとえば、次の問合せを作成する場合について説明します。
この問合せをクエリー・ビルダーで作成する手順は、次のとおりです。
|
関数 |
使用可能な引数関数は次のとおりです。
|
グループ基準 |
集合関数を使用するときにグループ化の対象となる列を指定します。対象は出力に含まれる列のみです。 |
削除 |
列の選択を解除して、問合せから列を除外します。 |
列を選択して条件を定義すると、クエリー・ビルダーによってSQLが記述されます。
基になるSQLを表示するには:
「SQL」タブを選択します。
オブジェクト間の関連は、結合を作成することによって作成できます。結合によって、複数の表、ビューまたはマテリアライズド・ビューの間の関連が識別されます。
結合問合せを記述する際は、2つのオブジェクト間の関連を示す条件を指定します。この条件は結合条件と呼ばれます。結合条件によって、1つのオブジェクトの行を別のオブジェクトの行とどのように組み合せるかが決定されます。
クエリー・ビルダーでは、内部結合、外部結合、左結合および右結合がサポートされています。内部結合(単純結合とも呼ばれます)は、結合条件を満たす行を戻します。外部結合は、単純結合の結果を拡張します。外部結合は、結合条件を満たすすべての行を戻し、さらに、一方の表に結合条件を満たす行がない場合は、結合条件を満たす一部またはすべての行をもう一方の表から戻します。
「設計」ペインの「結合」列を選択して、結合を手動で作成します。
オブジェクトを手動で結合するには:
「オブジェクト選択」ペインから、結合するオブジェクトを選択します。
結合する列を識別します。
列名に隣接する「結合」列を選択して、結合を作成します。「結合」列はデータ型の右側に表示されます。カーソルを適切な位置に置くと、次のヘルプ・ヒントが表示されます。
結合対象の列を選択するには、ここをクリックしてください
最初のオブジェクトに対して、適切な「結合」列を選択します。
選択すると、「結合」列が選択表示になります。「結合」列の選択を解除するには、「結合」列を再度選択するか、[Esc]を押します。
2番目のオブジェクトに対して、適切な「結合」列を選択します。
結合すると、2つの列が線で結ばれます。例を図2-6に示します。
問合せに含める列を選択します。結合線にカーソルを置くと、結合した結果のSQL文を表示できます。
「結果」をクリックして問合せを実行します。
問合せの作成後には、「保存」をクリックしてデータ・モデル・エディタに戻ります。この問合せは、「SQL問合せ」ボックスに表示されます。「OK」をクリックするとデータ・セットが保存されます。
クエリー・ビルダーからデータ・モデル・エディタに問合せを保存しておくと、その問合せの編集にクエリー・ビルダーを使用することもできます。
クエリー・ビルダーを使用して問合せを編集するには:
SQLデータ・セットを選択します。
ツールバーの「選択したデータ・セットの編集」をクリックして「データ・セットの編集」ダイアログを開きます。
「クエリー・ビルダー」をクリックして、クエリー・ビルダーに問合せをロードします。
注意: 問合せが変更されている場合や、問合せの作成にクエリー・ビルダーを使用していない場合には、その問合せを編集するためにクエリー・ビルダーを起動するとエラーが示されることがあります。クエリー・ビルダーで問合せを解析できないときには、テキスト・ボックス内で文を直接編集してください。 |
問合せを編集して、「保存」をクリックします。
基本的な問合せはこの時点で用意できていますが、レポートでは、ユーザーがこの問合せにパラメータを渡して結果を限定できるようにする必要があります。たとえば、従業員のリストで、ユーザーが特定の部門を選択できるようにする必要があります。
変数を追加するには、次のどちらかの方法を使用します。
クエリー・ビルダーの「条件」タブを使用してバインド変数を追加します。
クエリー・ビルダーの「条件」タブでバインド変数を追加するには:
次の「条件」を列に追加します。
in (:P_DEPTNAME)
このP_DEPTNAMEは、そのパラメータに選択した名前になります。図2-8にこれを示します。
SQL問合せを、テキスト・ボックス内で直接更新します。
重要: 問合せを手動で編集すると、その問合せをクエリー・ビルダーで解析することはできなくなります。それ以降の編集も、手動で実行する必要があります。 |
テキスト・ボックス内でSQL問合せを直接更新するには:
問合せ内のWHERE句の後ろに、次の行を追加します。
and "COLUMN_NAME" in (:PARAMETER_NAME)
例:
and "DEPARTMENT_NAME" in (:P_DEPTNAME)
このP_DEPTNAMEは、そのパラメータに選択した名前になります。図2-9にこれを示します。
「保存」をクリックすると、バインド変数構文を使用して入力したパラメータを作成するかどうかを尋ねる画面が表示されます(図2-10を参照)。
パラメータを選択して「OK」をクリックすると、パラメータ・エントリが自動的に作成されます。パラメータのプロパティを定義する方法の詳細は、第4章「パラメータと値リストの追加」を参照してください。
字句参照を使用して、SELECT、FROM、WHERE、GROUP BY、ORDER BYまたはHAVINGの後にくる句を置換できます。実行時にパラメータで複数の値を置換する場合は字句参照を使用します。字句参照がサポートされるのは、Oracleアプリケーションに対する問合せのみです。
SQL問合せの中に字句参照を作成するには、次の構文を使用します。
¶metername
字句パラメータを定義するには:
問合せを作成する前に、問合せの字句参照ごとに、PL/SQLデフォルト・パッケージでパラメータを定義します。データ・エンジンでは、これらの値を使用して字句パラメータを置換します。
データ・モデル・エディタの「プロパティ」ページで、「Oracle DBデフォルト・パッケージ」を指定します。
データ・モデル・エディタで、「データの前」イベント・トリガーを作成し、このPL/SQLパッケージをコールするように設定します。手順の詳細は、第5.2項「データの前およびデータの後トリガーの追加」を参照してください。
字句参照が含まれるSQL問合せを作成します。
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問合せ内に入力した字句参照の値を入力するためのものです(図2-11を参照)。字句参照の値を、PL/SQLパッケージ内で定義されているとおりに入力します。
実行時に、パッケージ内で定義されたwhere_clause
の内容で&where_clause
が置き換えられます。
クエリー・ビルダーをOracle BIサーバーに対して起動すると、クエリー・ビルダーには、カタログからのサブジェクト・エリアが表示されます。このサブジェクト・エリアをクエリー・ビルダーの作業領域にドラッグすると、列が表示されます。データ・モデルに入れる列を選択します。
データ・セットをOracle BIサーバーに対して作成するときは、次の点に注意してください。
SQLデータ・エディタまたはクエリー・ビルダーを使用して、SQL問合せをOracle BIサーバーに対して作成するときは、論理SQLが生成されます。他のデータベース・ソースの場合とは異なり、物理SQLは生成されません。
階層列はサポートされません。最も上のレベルが常に返されます。
サブジェクト・エリアの中では、表間の結合条件がすでに作成されています。したがって、クエリー・ビルダーで結合を作成する必要はありません。クエリー・ビルダーによって主キーが公開されることはありません。
データ・モデル・エディタの「リンクの作成」機能を使用してデータ・セットどうしをリンクできます。第3.5項「要素レベルのリンクの作成」を参照してください。BIサーバーから作成されたデータ・セットについては、要素レベル・リンクは1つのデータ・モデル当たり2つまでという制限があります。
クエリー・ビルダーの「条件」タブに表示される機能のうち、「ソート順序」と「グループ基準」は、Oracle BIサーバーに対する問合せの場合はサポートされません。「ソート順序」に入力した場合や、「グループ基準」チェック・ボックスを選択した場合も、クエリー・ビルダーによってSQLが作成されてBI Publisherの「SQL問合せ」テキスト・ボックスに出力されますが、「データ・セット」ダイアログを閉じようとすると、問合せは検証不合格となります。
SQL問合せで取り出したデータをグループ化するには、データ・モデル・エディタの「グループ基準」機能をかわりに使用してください。第3.7項「サブグループの作成」を参照してください。
パラメータをOracle BIサーバーに渡すとともに、「全選択可能」で「NULL値が渡されました」を選択した場合は、問合せの中で確実にnull値の処理を行う必要があります。
Oracle BIサーバーに対するSQL問合せを作成するには:
データ・モデル・エディタで、「新規データ・セット」をクリックし、「SQL問合せ」をクリックします。
データ・セットの名前を入力します。
「データソース」ドロップダウン・リストで、Oracle BIサーバー接続を選択します(通常は「Oracle BI EE」と表示されます)。
「クエリー・ビルダー」をクリックして「クエリー・ビルダー」ページを開きます。クエリー・ビルダー・ユーティリティの詳細は、第2.3.2項「SQLクエリー・ビルダーの使用」を参照してください。
SQL構文を手動で「SQL問合せ」テキスト・ボックスに入力することもできますが、Oracle BIサーバーで使用される論理SQL構文を使用する必要があります。
「カタログ」ドロップダウン・リストで、サブジェクト・エリアを選択します(図2-12を参照)。このリストに表示されるのは、Oracle BIサーバー内で定義されているサブジェクト・エリアです。
問合せの表と列を選択します。
「保存」をクリックします。
「OK」をクリックしてデータ・モデル・エディタに戻ります。生成されるSQLは、スター・スキーマに従う論理SQLです。物理SQLではありません。
変更内容をデータ・モデルに保存します。
BI Publisherでは、OLAPデータソースに対するマルチディメンション式(MDX)問合せがサポートされます。MDXを使用すると、マルチディメンション・オブジェクト(たとえばEssbaseキューブ)に対して問合せを実行して、キューブのデータが格納されたマルチディメンション・セル・セットを返すことができます。MDX問合せを作成するには、手動でMDX問合せを入力するか、MDXクエリー・ビルダーを使用して問合せを作成します。
MDX問合せを使用してデータ・セットを作成するには:
ツールバーの「新規データ・セット」をクリックし、「MDX問合せ」を選択します。「新規データ・セット - MDX問合せ」ダイアログが開きます(図2-13を参照)。
データ・セットの名前を入力します。
このデータ・セットのデータソースを選択します。OLAP接続として定義されたデータソースのみがリストに表示されます。
プライベートOLAPデータソース接続を作成した場合は、その接続も「データソース」ドロップダウン・リストに表示されます。プライベート・データソース接続を作成する方法の詳細は、第1.7.3項「プライベート・データソースの管理」を参照してください。
MDX問合せを入力するか、「クエリー・ビルダー」をクリックします。MDXクエリー・ビルダーの使用方法の詳細は、第2.5項「MDXクエリー・ビルダーの使用」を参照してください。
「OK」をクリックして保存します。この問合せは、データ・モデル・エディタによって検証されます。
注意: OLAPデータソースでは、どのメタデータ属性(列名や表名など)にもU+F900からU+FFFEまでのUnicode文字が使用されていないことを確認してください。このUnicodeの範囲には、半角の日本語カタカナと、全角のASCIIバリアントが含まれています。これに該当する文字を使用すると、BI Publisherレポート用のXMLデータを生成するときにエラーが発生します。 |
MDX問合せの記述方法の詳細は、『Oracle Essbaseデータベース管理者ガイド』のMDX問合せ記述方法に関する項を参照してください。
MDXクエリー・ビルダーを使用すると、基本的なMDX問合せをコーディング不要で作成できます。MDXクエリー・ビルダーでは、ディメンションを列、行、ページおよび視点の各軸に追加することや、問合せの結果をプレビューできます。
MDXクエリー・ビルダーを使用してMDX問合せを作成するには:
ツールバーの「新規データ・セット」をクリックし、次に「MDX問合せ」を選択して「新規データ・セット - MDX問合せ」ダイアログを開きます。
データ・セットの名前を入力します。
データソースを選択します。
MDXクエリー・ビルダーを起動します。
問合せのEssbaseキューブを選択します。
ディメンションやメジャーを選択し、「列」、「行」、「スライサ/POV」、「ページ」の各軸にドラッグ・アンド・ドロップします。
(省略可能)アクションを使用して問合せに変更を加えます。
(省略可能)フィルタを適用します。
問合せのオプションを設定して問合せを保存します。
「キューブの選択」ダイアログでは、MDX問合せの作成に使用するEssbaseキューブを選択します。
選択済のMDXデータソース接続によって、どのEssbaseキューブが選択可能になるかが決まります。
MDX問合せを作成するには、「列」、「行」、「スライサ/POV」、「ページ」の各軸のディメンションを選択します。
Accountディメンションのメンバーは、メンバー名ごとに個別に一覧表示されます。その他すべてのディメンション・メンバーは、世代名によって表現されます(図2-14を参照)。
ディメンションの世代や個々のメジャーを、「Account」ディメンションから「列」、「行」、「スライサ/POV」、「ページ」の各軸にドラッグできます。
問合せを作成するには、ディメンションのメンバーまたはメジャーを「ディメンション」パネルから次の軸領域のいずれかにドラッグします。
列: 問合せのAxis (0)
行: 問合せのAxis (1)
スライサ/POV: スライサ軸を利用すると、問合せの対象をEssbaseキューブの特定スライスにのみ限定できます。これは、問合せのWHERE句(省略可能)を表します。
ページ: 問合せのAxis (2)
「列」軸と「行」軸ではディメンションのメンバーをネストできますが、「スライサ/POV」軸では1つのディメンションのみを追加できます。
ディメンションを「スライサ/POV」軸に追加するときは、「メンバーの選択」ダイアログが開きます。この軸に対して選択できるディメンション・メンバーは1つのみです。ディメンションを「メンバーの選択」ダイアログで選択して「OK」をクリックします。
メジャーを「スライサ/POV」軸に追加する場合は、「メンバーの選択」ダイアログは表示されません。
MDXクエリー・ビルダーのツールバーには、MDX問合せに変更を加えるための、次のボタンがあります。
「行と列の入替え」をクリックすると、行と列の間でディメンションが入れ替わります。
「アクション」をクリックすると、次のメニュー項目が表示されて選択できるようになります。
キューブの選択: 問合せのための別のEssbaseキューブを選択します。
別名表の設定: ディメンション表示名に使用する別名表を選択します。別名は表示にのみ使用され、問合せの中では使用されません。
自動リフレッシュ: 「列」、「行」、「スライサ/POV」、「ページ」の各軸にディメンション・メンバーが配置されたときに結果を表示し、MDX問合せ構文を自動的にリフレッシュします。
結果のクリア: 結果をクリアし、すべての軸でのメンバー選択および問合せに追加されたフィルタを解除します。
空白列の表示: データが格納されていない列を表示します。
空白行の表示: データが格納されていない行を表示します。
問合せの表示: ディメンションを「列」、「行」、「スライサ/POV」、「ページ」の各軸に配置した結果として作成される、MDX問合せ構文を表示します。
MDXクエリー・ビルダーでは、「列」、「行」、「ページ」の各軸のディメンションに対するフィルタを作成して、MDX問合せをさらに絞り込むことができます。
フィルタを作成するには、「列」、「行」または「ページ」軸のディメンションの右にある下向き矢印ボタンをクリックします。そのディメンションが「フィルタ」領域に表示されます。目的のディメンション・メンバーを選択してフィルタを作成します(図2-15を参照)。
1つの問合せに対して複数のフィルタを作成できますが、「列」、「行」、「ページ」の軸ごとに作成できるフィルタは1つのみです。
問合せの作成が完了したら、「保存」をクリックすると「オプション」ダイアログが表示されます(図2-16を参照)。
「オプション」ダイアログでは、「列」、「行」、「ページ」の各軸のディメンションごとに、問合せに組み込むディメンション・プロパティを選択します。デフォルトでは、プロパティは何も選択されません。
ディメンションのプロパティは次のとおりです。
メンバーの別名: 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データベース管理者ガイド』のプロパティの問合せに関する項を参照してください。
MDX問合せのオプションを選択したら、「OK」をクリックして「新規データ・セット - MDX問合せ」ダイアログに戻り、MDX問合せ出力を確認します(図2-17を参照)。
「OK」をクリックしてデータ・モデル・エディタに戻り、変更内容を保存します。
重要: MDX問合せをBI Publisherに保存した後で変更を加える場合は、構文をMDXクエリー・ビルダーで変更するのではなく、手動で変更することをお薦めします。 |
BI Publisherでは、Lightweight Directory Access Protocol (LDAP)データソースに対する問合せをサポートしています。LDAPディレクトリに格納されているユーザー情報を問い合せてから、データ・モデル・エディタを使用すると、そのユーザー情報をその他のデータソースから取得したデータとリンクできます。
たとえば、データベース・アプリケーションに格納されている従業員の給与情報をリストするレポートを生成するときに、LDAPディレクトリに格納されている従業員の電子メール・アドレスもレポートに含める場合などです。それぞれを対象にした問合せを作成してから、それら2つをデータ・モデル・エディタでリンクすることで単一のレポートに情報を表示できます。図2-18に、LDAP問合せの例を示します。
LDAP問合せを使用してデータ・セットを作成するには:
ツールバーの「新規データ・セット」ボタンをクリックし、「LDAP問合せ」を選択します。「新規データ・セット - LDAP問合せ」ダイアログが開きます。
このデータ・セットの名前を入力します。
このデータ・セットの「データソース」を選択します。LDAP接続として定義されているデータソースのみがリストに表示されます。
「属性」入力ボックスには、LDAPデータソースからフェッチする値を保持する属性を入力します。
次に例を示します。
mail,cn,givenName
問合せにフィルタを適用するには、「フィルタ」入力ボックスに適切な構文を入力します。構文は次のとおりです。
(Operator (Filter)through(Filter))
次に例を示します。
(objectclass=person)
LDAP検索フィルタは、Internet Engineering Task Force (IETF)のRequest for Comments文書2254、『The String Representation of LDAP Search Filters』(RFC 2254)で定義されています。この文書は、IETFのWebサイト(http://www.ietf.org/rfc/rfc2254.txt
)から入手できます。
この問合せからのデータを他の問合せからのデータにリンクさせるか、出力の構造に変更を加えます。このステップの手順については、第3章「データの構造化」を参照してください。
Microsoft Excelファイルをデータソースとして使用するには、次のいずれかの方法でファイルをBI Publisherに渡します。
データソースとして管理者が設定したディレクトリにファイルを格納します。『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のファイル・データソースへの接続の設定に関する項を参照してください。
ローカル・ディレクトリからデータ・モデルにファイルをアップロードします。
BI Publisherのデータ・セット・タイプとしてサポートされるMicrosoft Excelファイルのガイドラインは、次のとおりです。
Microsoft Excelファイルは、Microsoft Excelを使用してExcel 97-2003のワークブック(*.xls)形式で保存されている必要があります。サード・パーティ製のアプリケーションやライブラリで作成されたファイルは、サポートされません。
ソースのExcelファイルの中のシートは、単一でも複数でもかまいません。
各ワークシートに、1つ以上の表を入れることができます。1つの表とは、1つのシート内の連続した行と列に配置されたデータのブロックです。
それぞれの表について、BI Publisherは、常に最初の行を表のヘッダー行と見なします。
この表内のデータ型は、数値、テキストまたは日付/時間にできます。
単一のワークシート内に複数の表が存在する場合は、それぞれをBI Publisherで認識するために、名前で識別される必要があります。第2.7.2項「シートごとの複数の表にアクセスする際のガイドライン」を参照してください。
Excelファイル内の表のすべてに名前が付けられていない場合は、最初の表(最も左上に配置された表)のデータのみが認識され、そのデータのみがフェッチされます。
データ・セットの作成時、BI Publisherは、数値に対して常に小数点以下の末尾のゼロをすべて切り捨てます。最終的なレポートで末尾のゼロを保持するには、そのゼロが表示されるように、テンプレートで書式マスクを適用する必要があります。書式マスクの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』の数値、日付および通貨の書式設定に関する項を参照してください。
単一値パラメータはサポートされますが、複数値パラメータはサポートされません。
Excelワークシートにデータソースとして含める複数の表が格納されている場合は、Excelで、それぞれの表に名前を定義する必要があります。
重要: 定義する名前は、接頭辞BIP_で始まる必要があります(例: BIP_SALARIES)。 |
Excelで表の名前を定義するには:
Excelで表を挿入します。
次の手順で、表に名前を定義します。
Excel 2003を使用する場合: 表を選択します。「挿入」メニューで、「名前」、「定義」の順にクリックします。接頭辞のBIP_を付けた名前を入力します。
Excel 2007を使用する場合: 表を選択します。「数式」タブの「定義された名前」グループ内で、「名前の定義」をクリックして、「名前」フィールドに名前を入力します。入力した名前が「数式」バーに表示されます。
ヒント: 「定義された名前」とその使用方法の詳細は、次のURLにアクセスしてMicrosoft Excel 2007のドキュメント「数式で名前を定義し使用する」を参照してください。
|
図2-19は、Microsoft Excel 2007の「名前の定義」コマンドを使用して、表にBIP_Salariesという名前を付ける方法を示しています。
データ・セットにパラメータを含めるには、最初にパラメータを定義して、それらのパラメータをデータ・セットの定義時に選択できるようにしておく必要があります。第4章「パラメータと値リストの追加」を参照してください。
重要: Excelデータ・セット・タイプでは、パラメータごとに1つの値がサポートされます。複数パラメータの選択はサポートされていません。 |
ファイル・ディレクトリ・データソースにあるMicrosoft Excelファイルを使用してデータ・セットを作成するには:
ツールバーの「新規データ・セット」ボタンをクリックし、「Microsoft Excelファイル」を選択します。「新規データ・セット - Microsoft Excelファイル」ダイアログが開きます。
このデータ・セットの名前を入力します。
「共有」をクリックして、「データソース」リストを有効にします。
Microsoft Excelファイルが存在するデータソースを選択します。
「ファイル名」フィールドの右にある参照アイコンをクリックして、データソース・ディレクトリ内のMicrosoft Excelファイルを選択します。ファイルを選択します。
Excelファイルに複数のシートや表が含まれている場合には、このデータ・セットに適した「シート名」および「表名」を選択します(図2-20を参照)。
このデータ・セットにパラメータを追加する場合は、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。単一値パラメータのみがサポートされます。第4章「パラメータと値リストの追加」を参照してください。
「OK」をクリックします。
この問合せからのデータを他の問合せからのデータにリンクさせるか、出力の構造に変更を加えます。問合せどうしをリンクさせる方法の詳細は、第3章「データの構造化」を参照してください。
データ・セットにパラメータを含めるには、最初にパラメータを定義して、そのパラメータをデータ・セットの定義時に選択できるようにしてください。第4章「パラメータと値リストの追加」を参照してください。
重要: Excelデータ・セット・タイプでは、パラメータごとに1つの値がサポートされます。複数パラメータの選択はサポートされていません。 |
ローカルに格納されたMicrosoft Excelファイルを使用してデータ・セットを作成するには:
「新規データ・セット」ツールバー・ボタンをクリックして、「Microsoft Excelファイル」を選択します。「データ・セットの作成 - Excel」ダイアログが開きます。
このデータ・セットの名前を入力します。
「ローカル」を選択して、アップロード・ボタンを有効にします。
「アップロード」アイコンをクリックし、ローカル・ディレクトリのMicrosoft Excelファイルを参照して、アップロードします。このファイルがすでにデータ・モデルにアップロードされている場合は、「ファイル名」リストから選択できます。
Excelファイルに複数のシートや表が含まれている場合には、このデータ・セットに適した「シート名」および「表名」を選択します(図2-21を参照)。
このデータ・セットにパラメータを追加する場合は、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。単一値パラメータのみがサポートされます。第4章「パラメータと値リストの追加」を参照してください。
「OK」をクリックします。
この問合せからのデータを他の問合せからのデータにリンクさせるか、出力の構造に変更を加えます。問合せどうしをリンクさせる方法の詳細は、第3章「データの構造化」を参照してください。
ファイルをアップロードすると、そのファイルはデータ・モデルの「プロパティ」ペインにある「添付ファイル」リージョンに表示されます(図2-22を参照)。
「プロパティ」ペインの詳細は、第1.7項「データ・モデルのプロパティの設定」を参照してください。
データ・モデル内のローカル・ファイルをリフレッシュするには:
コンポーネント・ペインで「データ・モデル」をクリックして、「プロパティ」ページを表示します。
このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。
「リフレッシュ」をクリックします。
「アップロード」ダイアログで、最新バージョンのファイルを参照してアップロードします。このファイルには同じ名前を付ける必要があります。別の名前を付けると古いバージョンは置き換えられません。
データ・モデルを保存します。
ローカル・ファイルを削除するには:
コンポーネント・ペインで「データ・モデル」をクリックして、「プロパティ」ページを表示します。
このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。
「削除」をクリックします。
「OK」をクリックして処理を確認します。
データ・モデルを保存します。
Oracle Business Intelligenceとの統合を有効にしている場合は、Oracle Business Intelligenceプレゼンテーション・カタログにアクセスすると、データソースとして「Oracle BI Analysis」を選択できるようになります。分析は、ビジネス上の疑問に対する回答を得るための、組織のデータに対する問合せです。問合せには、Oracle BIサーバーに発行される、ベースとなるSQL文が含まれています。
分析を作成する方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherユーザーズ・ガイド』を参照してください。
重要: 階層的な列は、BI Publisherのデータ・モデルではサポートされません。 |
Oracle BI分析を使用してデータ・セットを作成するには:
ツールバーの「新規データ・セット」ボタンをクリックし、「Oracle BI Analysis」を選択します。「新規データ・セット - Oracle BI Analysis」ダイアログが開きます。
このデータ・セットの名前を入力します。
参照アイコンをクリックして、Oracle BIプレゼンテーション・カタログに接続します(図2-23を参照)。
カタログ接続のダイアログが開いたら、フォルダに移動して、レポートのデータ・セットとして使用するOracle BI分析を選択します。
「タイムアウト」値を秒数単位で入力します(図2-24を参照)。この「タイムアウト」値に指定した時間を経過してもBI Publisherが分析データを取得できない場合、BI Publisherは分析データの取得の試行を停止します。
「OK」をクリックします。
パラメータと値リストは、BI分析から継承され、実行時に表示されます。
BI Analysisには、フィルタ変数用に定義されたデフォルト値が必要です。分析にデフォルト値のないプレゼンテーション変数が含まれていると、BI Publisherではデータソースとしてサポートされなくなります。
Oracle BI Analysisデータ・セットに基づいてデータを構造化する必要がある場合は、グループのブレーク、データのリンクおよびグループ・レベル関数はサポートされません。
サポート対象は次のとおりです。
グローバル・レベル関数
要素がNULLの場合の値の設定
グループ・フィルタ
前述のサポート対象機能の詳細は、第3章「データの構造化」を参照してください。
BI Publisherを使用すると、Oracle Application Development Frameworkで作成したカスタム・アプリケーションに接続して、そのアプリケーションのビュー・オブジェクトをレポートのデータソースとして使用できます。
前提条件: BI Publisherのデータ・モデルを、ビュー・オブジェクトを使用して作成するには、あらかじめビュー・オブジェクトをアプリケーション内に作成しておく必要があります。作成するには、『Oracle Fusion Middleware Oracle Business Intelligence Publisher開発者ガイド』の「ビュー・オブジェクトをデータソースとしてBI Publisherで使用可能にするには」の章のガイドラインを参照してください。
ビュー・オブジェクトを使用してデータ・セットを作成するには:
「新規データ・セット」ツールバー・ボタンをクリックして、「ビュー・オブジェクト」を選択します。「新規データ・セット - ビュー・オブジェクト」ダイアログが開きます。
このデータ・セットの名前を入力します。
リストから「データソース」を選択します。providers.xmlファイルで定義したデータソースが表示されます。
アプリケーション・モジュールの完全修飾名を入力します(例: example.apps.pa.entity.applicationModule.AppModuleAM)。
「ビュー・オブジェクトのロード」をクリックします。
BI Publisherは、アプリケーション・モジュールをコールして、ビュー・オブジェクトのリストをロードします。
「ビュー・オブジェクト」を選択します。
定義済のバインド変数が取得されます。パラメータを作成して、このバインド変数にマッピングします。詳細は、第4章「パラメータと値リストの追加」を参照してください。
「OK」をクリックしてデータ・セットを保存します。
ビュー・オブジェクト・データ・セットに基づいたデータを構造化する場合、グループのブレーク、データのリンクおよびグループ・レベル関数はサポートされません。
サポート対象は、要素がNULLの場合の値の設定です。
このサポート対象機能の詳細は、第3章「データの構造化」を参照してください。
BI Publisherでは、有効なXMLデータを返すWebサービス・データソースをサポートしています。
重要: システムのセキュリティによっては、外部のWebサービスにアクセスするために、追加の構成が必要になることがあります。WSDL URLが企業のファイアウォールの外側にある場合は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のプロキシ設定の構成に関する項を参照してください。 |
WebサービスがSecure Sockets Layer (SSL)で保護されている場合は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のBI PublisherをSecure Sockets Layer通信用に構成する方法に関する項を参照してください。
BI Publisherでは、単純なデータ型と複合的なデータ型を返すWebサービスの両方をサポートしています。Webサービス・データ・モデルを定義するときには、単純なものと複合的なものを区別する必要があります。それぞれのタイプの設定方法の説明は、第2.10.1項「単純なWebサービスの追加例」および第2.10.2項「複合的なWebサービスの追加」を参照してください。
Webサービス・メソッドにパラメータを含める場合は、最初にパラメータを定義して、データソースの設定時にそのパラメータを選択できるようにする必要があります。第4章「パラメータと値リストの追加」を参照してください。
複数のパラメータがサポートされています。メソッド名が正しいことと、パラメータの順序がメソッド内での順序と一致することを確認します。Webサービスで2つのパラメータを受け入れるメソッドをコールする場合、それらの2つのパラメータに対して、レポート内で定義した2つのパラメータをマッピングする必要があります。サポートされているパラメータは、文字列や整数などの単純型のパラメータのみです。
WSDL URLおよびWebサービス・メソッドを入力します。
重要: 文書またはリテラルのWebサービスのみがサポートされます。 |
パラメータを指定するには、「パラメータの追加」をクリックし、パラメータをドロップダウン・リストから選択します。
この例では、WebサービスをデータソースとしてBI Publisherに追加する方法を示します。このWebサービスは、株価情報を戻します。また、このWebサービスは株の銘柄記号を示す1つのパラメータを渡します。
WSDL URLは次のとおりです。
http://www.webservicex.net/stockquote.asmx?WSDL
Webサービスでコールできるメソッドとパラメータがわからない場合は、このURLをブラウザで開いて確認してください。このWebサービスには、GetQuoteというメソッドが含まれています。これは、1つのパラメータ(株の銘柄記号)を受け取ります。
Webサービスをデータソースとして追加するには:
ツールバーの「新規データ・セット」ボタンをクリックし、「Webサービス」を選択します。「新規データ・セット - Webサービス」ダイアログが開きます(図2-25を参照)。
Webサービス名を入力します。
Webサービスの情報を次のとおりに入力します。
「複合タイプ」に「False」を選択します。
「WSDL URL」に、「http://www.webservicex.net/stockquote.asmx?WSDL」と入力します。
メソッドに「GetQuote」と入力します。
必要に応じて、「タイムアウト」の時間を秒単位で入力します。BI PublisherサーバーでWebサービスとの接続を確立できない場合、指定したタイムアウト時間が経過すると接続の試行はタイムアウトになります。
パラメータを定義し、そのパラメータをWebサービスのデータ・セットで使用可能にします。
「データ・モデル」ペインで「パラメータ」を選択して、「新規パラメータの作成」ボタンをクリックします。次の項目を入力します。
名前 - このパラメータの内部的な識別子を入力します(たとえば「Symbol」)。
データ型 - 「文字列」を選択します。
デフォルト値 - 必要に応じて、パラメータのデフォルト値を入力します(例 - ORCL)。
パラメータ・タイプ - 「テキスト」を選択します。
行配置 - 行配置の値を選択します。デフォルトは1です。
「New_Parameter_1:タイプ: テキスト」リージョンで、次のとおりに入力します。
表示ラベル - このパラメータに対して表示するラベルを入力します(例: 「Stock Symbol」)。
テキスト・フィールド・サイズ - テキスト入力フィールドのサイズを文字数単位で入力します。
適用するオプションを選択します。
テキスト・フィールドにカンマ区切りの値を含む - このオプションを選択すると、ユーザーはこのパラメータに対してカンマ区切りの複数の値を入力できます。
変更時に他のパラメータをリフレッシュ - このパラメータの値に依存する値を持つ他のパラメータをリフレッシュするために、ページの部分的なリフレッシュを実行します。
Webサービス・データ・セットに戻り、パラメータを次のとおりに追加します。
データ・セット名「Stock Quote」をクリックします。
ツールバーの「選択したデータ・セットの編集」をクリックして「データ・セットの編集」ダイアログを開きます。
「データ・セットの編集」ダイアログで、「パラメータの追加」をクリックします。Quoteパラメータが表示されます(図2-27を参照)。
パラメータの名前を入力し、「OK」をクリックして「データ・セットの編集」ダイアログを閉じます。
「保存」をクリックします。
「データ」タブを選択します。
「Stock Symbol」パラメータの有効な値を入力し、返す行数を選択し、「表示」をクリックします。図2-28に、この例から返されたデータを示します。
複合的なWebサービス・タイプは、内部でsoapRequest/soapEnvelopeを使用して、接続先ホストにパラメータ値を渡します。
複合的なWebサービスをデータソースとして使用するには、「複合タイプ」に「True」を選択してから、WSDL URLを入力します。WSDL URLのロードと分析が終了した後は、使用可能なWebサービスと操作がデータ・モデル・エディタに表示されます。選択した操作のそれぞれについて、必要な入力パラメータの構造がデータ・モデル・エディタに表示されます。「オプション・パラメータの表示」を選択すると、すべてのオプション・パラメータも確認できます。
Webサービスで使用できるメソッドとパラメータがわからない場合は、このWSDL URLをブラウザで開いて確認します。
複合的なWebサービスをデータソースとして追加するには:
データ・セットの情報を次のとおりに入力します。
「名前」にデータ・セットの名前を入力し、「タイプ」で「Webサービス」を選択します。
「複合タイプ」に「True」を選択します。
セキュリティ・ヘッダーを次のとおりに選択します。
2002 - 次の2002ネームスペースによりWS-Securityユーザー名トークンを有効にします。
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
2004 - 次の2004ネームスペースによりWS-Securityユーザー名トークンを有効にします。
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
「ユーザー名」と「パスワード」 - 必要に応じてWebサービスのユーザー名とパスワードを入力します。
必要に応じて、「タイムアウト」の時間を秒単位で入力します。BI PublisherサーバーでWebサービスとの接続を確立できない場合、指定したタイムアウト時間が経過すると接続の試行はタイムアウトになります。
WSDL URLを入力します。WSDLを入力すると、そのWSDLから使用可能なWebサービスが「Webサービス」リストに移入されます。
Webサービスをリストから選択します。リストからWebサービスを選択すると、使用可能なメソッドが「メソッド」リストに移入されます。
「メソッド」を選択します。メソッドを選択すると、「パラメータ」が表示されます。オプション・パラメータも表示するには、「オプション・パラメータの表示」を選択します。
ResponseData XPath - レポート用のXMLデータの開始位置が、Webサービス・リクエストで生成されたレスポンスXMLの深い位置に埋め込まれている場合は、このフィールドを使用してBI Publisherレポートに使用するデータへのパスを指定します。
パラメータを定義し、そのパラメータをWebサービスのデータ・セットで使用可能にします。
「レポート」定義ペインで「パラメータ」を選択し、「新規」をクリックしてパラメータを作成します。次の項目を入力します。
名前 - パラメータの内部識別子を入力します。
データ型 - パラメータに適したデータ型を選択します。
デフォルト値 - 必要に応じて、パラメータのデフォルト値を入力します。
パラメータ・タイプ - 適切なパラメータ・タイプを選択します。
表示ラベル - パラメータに表示するラベルを入力します。
テキスト・フィールド・サイズ - テキスト入力フィールドのサイズを文字数単位で入力します。
Webサービス・データ・セットに戻り、パラメータを追加します。
Webサービス・データ・セットを選択してから、「選択したデータ・セットの編集」をクリックして「データ・セットの編集」ダイアログを開きます。
図2-29に示すとおりにパラメータを選択します。
Webサービスをテストする場合は、第2.16項「データ・モデルのテストとサンプル・データの生成」を参照してください。
XMLファイルをデータソースとして使用するには、次のいずれかを実行します。
管理者によってデータソースとして設定されたディレクトリに、XMLファイルを置きます。『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のファイル・データソースへの接続の設定に関する項を参照してください。
XMLファイルをローカル・ディレクトリからデータ・モデルにアップロードします。
重要: BI Publisherのレイアウト・エディタとインタラクティブ・ビューアを使用するには、XMLファイル・ソースからのサンプル・データがデータ・モデルに保存されている必要があります。 |
BI Publisherのデータ・セット・タイプとしてのXMLファイルのサポートに関するガイドラインは、次のとおりです。
BI Publisherデータ・エンジンへの入力として使用されるXMLファイルは、UTF-8でエンコードされている必要があります。
XMLタグ名では、~、!、#、$、%、^、&、*、+、`、|、:、\"、\\、<、>、?、,、/を使用しないでください。データソース・ファイルにこれらの文字が含まれている場合は、データ・モデル・エディタの「構造」タブを使用して、受け入れられるタグ名に変更してください。
XMLファイルは有効でなければなりません。Oracleは、XMLファイルを検証するための多数のユーティリティと方法を用意しています。
XMLファイル・データ・セットから得られるメタデータは存在しないため、グループとリンクはサポートされません。
ファイル・ディレクトリ・データソースにあるXMLファイルを使用してデータ・セットを作成するには:
ツールバーの「新規データ・セット」をクリックし、「XMLファイル」を選択します。「新規データ・セット - XMLファイル」ダイアログが開きます(図2-30を参照)。
データ・セットの名前を入力します。
「共有」をクリックして、「データソース」リストを有効にします。これは、デフォルトで選択されているオプションです。
XMLファイルが存在する「データソース」を選択します。このリストは、構成済のファイル・データソース接続から移入されます。
「ファイル名」の右の「参照」をクリックし、データソースに接続して、使用可能なディレクトリの一覧から選択します。ファイルを選択します。
「OK」をクリックします。
(必須)サンプル・データをデータ・モデルに保存します。第2.16項「データ・モデルのテストとサンプル・データの生成」を参照してください。
ローカルに格納されたXMLファイルを使用してデータ・セットを作成するには:
ツールバーの「新規データ・セット」をクリックし、「XMLファイル」を選択します。「新規データ・セット - XMLファイル」ダイアログが開きます(図2-31を参照)。
このデータ・セットの名前を入力します。
「ローカル」を選択します。「アップロード」ボタンが有効になります。
「アップロード」をクリックし、ローカル・ディレクトリにあるXMLファイルを選択してアップロードします。このファイルがすでにデータ・モデルにアップロードされている場合は、「ファイル名」リストから選択できるようになっています。
「アップロード」をクリックします。
「OK」をクリックします。
(必須)サンプル・データをデータ・モデルに保存します。第2.16項「データ・モデルのテストとサンプル・データの生成」を参照してください。
ファイルをアップロードすると、そのファイルはデータ・モデルの「プロパティ」ペインにある「添付ファイル」リージョンに表示されます(図2-32を参照)。
「プロパティ」ペインの詳細は、第1.7項「データ・モデルのプロパティの設定」を参照してください。
データ・モデル内のローカル・ファイルをリフレッシュするには:
コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。
このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。
「リフレッシュ」をクリックします。
「アップロード」ダイアログで、最新バージョンのファイルを参照してアップロードします。このファイルには同じ名前を付ける必要があります。別の名前を付けると古いバージョンは置き換えられません。
データ・モデルを保存します。
ローカル・ファイルを削除するには:
コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。
このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。
「削除」をクリックします。
「OK」をクリックして処理を確認します。
データ・モデルを保存します。
CSVファイルをデータソースとして使用するには、次のいずれかを実行します。
管理者によってデータソースとして設定されたディレクトリに、CSVファイルを置きます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のファイル・データソースへの接続の設定に関する項を参照してください。
CSVファイルをローカル・ディレクトリからデータ・モデルにアップロードします。
BI Publisherのデータ・セット・タイプとしてのCSVファイルのサポートに関するガイドラインは、次のとおりです。
CSVファイルのデリミタとしてサポートされるのは、カンマ、パイプ、セミコロンおよびタブです。
CSVファイルの中にヘッダーがある場合は、ヘッダーの名前がXMLタグ名として使用されます。XMLタグ名では、~、!、#、$、%、^、&、*、+、`、|、:、\"、\\、<、>、?、,、/はサポートされません。データソース・ファイルのヘッダー名にこれらの文字が含まれている場合は、データ・モデル・エディタの「構造」タブを使用してタグ名を編集してください。
CSVデータ・セットでは、データ・モデル・エディタによって割り当てられたデータ型の編集がサポートされます。詳細は、第2.12.3.1項「データ型の編集」を参照してください。データ・セット内の要素のデータ型を更新する場合は、選択したデータ型にファイル内のデータが準拠していることを確認してください。
BI Publisherデータ・エンジンへの入力として使用されるCSVファイルは、UTF-8でエンコードされている必要があります。また、空の列ヘッダーが含まれていてはなりません。
グループのブレーク、データのリンク、式およびグループ・レベル関数はサポートされません。
CSVファイル内のデータ・フィールドの形式は、マッピングされる日付要素については標準ISOデータ書式(例: 2012-01-01T10:30:00-07:00)、マッピングされる数値要素については######.##であることが必要です。
CSVファイルに対するデータ検証は用意されていません。
ファイル・ディレクトリ・データソースにあるCSVファイルを使用してデータ・セットを作成するには:
データ・モデル・エディタのツールバーの「新規データ・セット」をクリックし、「CSVファイル」を選択します。「新規データ・セット - CSVファイル」ダイアログが開きます(図2-33を参照)。
このデータ・セットの名前を入力します。
「共有」をクリックして、「データソース」リストを有効にします。
「データソース」で、CSVファイルが存在するデータソースを選択します。このリストは、構成済のファイル・データソース接続から移入されます。
「参照」をクリックしてデータソースに接続し、使用可能なディレクトリを参照します。ファイルを選択します。
(省略可能)ファイルの最初の行に列名が格納されていることを指定するには、「最初の行は列ヘッダーです」を選択します。このオプションを選択しない場合は、列にはColumn1、Column2のような汎用名が割り当てられます。割り当てられたXMLタグ名および表示名は、データ・モデル・エディタの「構造」タブで編集できます。
「CSVデリミタ」で、ファイルで使用されているデリミタを選択します。デフォルトでは「カンマ(,)」が選択されます。
「OK」をクリックします。
ローカルに格納されたCSVファイルを使用してデータ・セットを作成するには:
ツールバーの「新規データ・セット」をクリックし、「CSVファイル」を選択します。「新規データ・セット - CSVファイル」ダイアログが開きます(図2-34を参照)。
このデータ・セットの名前を入力します。
「ローカル」を選択します。「アップロード」ボタンが有効になります。
「アップロード」をクリックし、ローカル・ディレクトリにあるCSVファイルを選択してアップロードします。このファイルがすでにデータ・モデルにアップロードされている場合は、「ファイル名」リストから選択できるようになっています。
(省略可能)ファイルの最初の行に列名が格納されていることを指定するには、「最初の行は列ヘッダーです」を選択します。このオプションを選択しない場合は、列にはColumn1、Column2のような汎用名が割り当てられます。割り当てられたXMLタグ名および表示名は、データ・モデル・エディタの「構造」タブで編集できます。
「CSVデリミタ」で、ファイルで使用されているデリミタを選択します。デフォルトでは「カンマ(,)」が選択されます。
「OK」をクリックします。
CSVファイル要素のデータ型を編集するには、データ型アイコンをクリックするか、要素の「プロパティ」ダイアログで更新します。
要素のデータは、割り当てられたデータ型に準拠している必要があります。ユーザー・インタフェースには、データ型を更新するときにデータを検証する機能はありません。データが一致しない場合(たとえば、整数として定義された要素に対して文字列値が存在する場合)は、レイアウト編集ツールで、または実行時にエラーが発生する可能性があります。
データ型を更新できるのは、データソースがCSVファイルの場合のみです。
ファイルをアップロードすると、そのファイルはデータ・モデルの「プロパティ」ペインにある「添付」リージョンに表示されます(図2-35を参照)。
「プロパティ」ペインの詳細は、第1.7項「データ・モデルのプロパティの設定」を参照してください。
データ・モデル内のローカル・ファイルをリフレッシュするには:
コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。
このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。
「リフレッシュ」をクリックします。
「アップロード」ダイアログで、最新バージョンのファイルを参照してアップロードします。このファイルには同じ名前を付ける必要があります。別の名前を付けると古いバージョンは置き換えられません。
データ・モデルを保存します。
ローカル・ファイルを削除するには:
コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。
このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。
「削除」をクリックします。
「OK」をクリックして処理を確認します。
データ・モデルを保存します。
BI Publisherでは、キャラクタ・ラージ・オブジェクト(CLOB)データ型として格納されたデータのデータ・モデル内での使用をサポートしています。この機能によって、別のプロセスで生成してデータベースに保存してあるXMLデータを、BI Publisherデータ・モデルへの入力として使用できます。
クエリー・ビルダーを使用して、SQL問合せで列を取得してから、データ・モデル・エディタを使用して、必要なデータ構造を指定します。データ・モデルの実行時に、データ・エンジンは次のいずれかの形式でデータを構造化します。
レポートに表示できるXMLタグ名内のプレーンな文字セット(例: 項目の説明)
構造化XML
CLOBとして格納されたデータからデータ・セットを作成するには:
ツールバーの「新規データ・セット」をクリックし、「SQL問合せ」を選択します。「新規データ・セット - SQL問合せ」ダイアログが開きます。
データ・セットの名前を入力します。
このデータ・セットのデフォルト・データソースを使用しない場合は、リストから「データソース」を選択します。
SQL問合せを入力するか、「クエリー・ビルダー」を使用してCLOBデータ列を取得する問合せを作成します。クエリー・ビルダー・ユーティリティの詳細は、第2.3.2項「SQLクエリー・ビルダーの使用」を参照してください。図2-36は、列名DESCRIPTIONにCLOBデータが格納されている場合の問合せの例です。
問合せの入力後に、「OK」をクリックして保存します。BI Publisherによって、問合せが検証されます。
デフォルトでは、データ・モデル・エディタはCLOB列にCLOBデータ型を割り当てます。データ型をXMLに変更するには、データ型アイコンをクリックして「XML」を選択します(図2-37を参照)。
問合せの実行時、CLOB列に整形式XMLが含まれていると、データ・エンジンはCLOB列のタグ名内に構造化されたXMLデータを返します。
データ型がXMLの場合の出力例:
<DESCRIPTION>要素には、CLOB列内に格納されたXMLデータが含まれています(図2-38を参照)。
データ型がCLOBの場合の出力例
CLOBデータ型としてデータが返されるように選択している場合、返されるデータは図2-39に示すように構造化されます。
バースティング問合せでCLOB列を使用する際に特有の注意点は、第7.3項「バースティング定義のデータ・モデルへの追加」を参照してください。
BI Publisherでは、データベースのCLOB列に格納されたXHTML文書形式のデータを取得して、生成されたレポートでマークアップをレンダリングできます。BI Publisherレポート・レンダリング・エンジンでマークアップ・タグを処理できるようにするには、データ・エンジンから渡されたXMLレポート・データ内で、XHTMLデータをCDATAセクション内にラッピングする必要があります。
CDATAセクションでラッピングされたデータをデータベースに格納することをお薦めします。これにより、単純なSELECT文を使用してデータを抽出できます。データがCDATAセクション内にラッピングされていない場合は、そのデータをラッピングするための命令をSQL文に含める必要があります。
次の各項では、それぞれの場合でXHTMLデータを抽出する方法について説明しています。
マークアップをレポート内に表示するには、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』のレポートでHTML形式のデータをレンダリングする方法に関する項に記載されている構文を使用する必要があります。この項には、サポートされるHTML形式についての説明もあります。レポート内でのHTMLマークアップのレンダリングは、RTFテンプレートに対してのみサポートされます。
次のデータが、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に設定します(図2-40を参照)。
次のデータが、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に設定します(図2-40を参照)。
HTTP (XML入力)データ・セット・タイプを使用すると、Web上のRSSおよびXML入力からHTTP GETメソッドでデータを取得して、データ・モデルを作成できます。
重要: システムのセキュリティに応じて、外部データソースのフィードにアクセスするために追加の構成が必要になることがあります。RSSフィードがSecure Sockets Layer (SSL)によって保護されている場合は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のSecure Sockets Layer (SSL)通信用にBI Publisherを構成する方法に関する項を参照してください。 |
データ・セットにパラメータを含めるには、最初にパラメータを定義して、そのパラメータをデータ・セットの定義時に選択できるようにしてください。第4章「パラメータと値リストの追加」を参照してください。
HTTP XML入力からデータ・セットを作成するには:
ツールバーの「新規データ・セット」をクリックし、「HTTP(XML入力)」を選択します。「新規データ・セット - HTTP(XML入力)」ダイアログが開きます(図2-41を参照)。
このデータ・セットの名前を入力します。
RSSフィードまたはXML入力のソースURLを入力します。
「メソッド」で「GET」を選択します。
必要に応じて、URLに対するユーザー名、パスワードおよびレルムを入力します。
パラメータを追加するには、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。第4章「パラメータと値リストの追加」を参照してください。
「OK」をクリックして、データ・セットのダイアログを閉じます。
エンタープライズ・データ検出プラットフォームであるOracle Endeca Information Discoveryでは、複雑で多様なデータの高度な探索と分析を行うことができます。情報は様々なソース・システムから読み込まれ、このデータを格納するファセット・データ・モデルは変動するデータを動的にサポートします。BI Publisherを利用すると、Oracle Endeca Information DiscoveryユーザーがEndeca Query Language (EQL)問合せをOracle Endeca Serverに対して実行し、取り出したデータをBI Publisherに返してエンタープライズ・レポーティングを行うことができます。
前提条件: 管理者がOracle Endeca Serverとの統合を構成する必要があります。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のOracle Endeca Serverとの統合の構成方法に関する項を参照してください。
EQL問合せの記述方法の詳細は、Oracle Endeca Server問合せ言語リファレンスを参照してください。図2-42に、Oracle Endeca問合せの例を示します。
Oracle Endeca Serverデータソースに対するEQL問合せを使用してデータ・セットを作成するには:
ツールバーの「新規データ・セット」ボタンをクリックし、「Oracle Endeca問合せ」を選択します。「新規データ・セット - Oracle Endeca問合せ」ダイアログが開きます。
このデータ・セットの名前を入力します。
「データ・ストア」で、このデータ・セットのデータ・ストアを選択します。
EQL問合せを直接入力するか、別の場所(たとえばOracle Endeca Information Discoveryのビュー)からコピーして貼り付けます。
「OK」をクリックします。
Oracle Endeca Serverから取り出したデータ・セットについては、グループのブレーク、データのリンクおよびグループ・レベル関数はサポートされません。
サポート対象は次のとおりです。
グローバル・レベル関数
要素がNULLの場合の値の設定
グループ・フィルタ
前述のサポート対象機能の詳細は、第3章「データの構造化」を参照してください。
データ・モデル・エディタにはデータ・モデルをテストして出力を表示する機能があり、期待した結果が得られることを確認できます。テストが正常に完了した後で、テスト出力をデータ・モデルのサンプル・データとして保存するかどうかを選択できます。エクスポート機能を使用してサンプル・データをファイルにエクスポートすることもできます。データ・モデルの実行が失敗した場合は、データ・エンジン・ログを表示してください。
データ・モデルをテストするには:
データ・モデル・エディタの「データ」タブを選択します(図2-43を参照)。
「SQL問合せ」、「Oracle BI Analysis」、「ビュー・オブジェクト」および「Oracle Endeca問合せ」のデータ・セットの場合: 「データ」タブで、返す行の数を選択します(図2-44を参照)。パラメータが含まれている場合は、テスト用に適切な値を入力します。
「表示」をクリックして、データ・モデルから返されるXMLを表示します。
次のオプションのいずれかを選択してサンプル・データを表示します。
「ツリー表示」を使用して、サンプル・データをデータ階層として表示します。これがデフォルトの表示オプションです。
「表ビュー」を使用して、サンプル・データを、BI Publisherのレポートと同様の書式設定済の表として表示します。
テスト・データをデータ・モデル用のサンプル・データとして保存するには:
データ・モデルの実行が正常に完了したら、「サンプル・データとして保存」をクリックします(図2-45を参照)。サンプル・データがデータ・モデルに保存されます。詳細は、第1.7.2項「データ・モデルへの添付ファイル」を参照してください。
「SQL問合せ」、「Oracle BI Analysis」、「ビュー・オブジェクト」および「Oracle Endeca問合せ」のデータ・セットの場合: 「データ」タブで、返す行の数を選択します。
データ・モデルの実行が正常に完了したら、「エクスポート」をクリックします。ファイルを開く、またはローカル・ディレクトリに保存するための画面が表示されます。
データ・エンジン・ログを表示するには:
データ・エンジン・ログの表示をクリックします。ファイルを開く、またはローカル・ディレクトリに保存するための画面が表示されます。データ・エンジン・ログ・ファイルは、XMLファイルです。
BI Publisherは、現在のユーザーについての情報を格納します。この情報には、レポート・データ・モデルからアクセスできます。このユーザー情報は、表2-2で説明するシステム変数に格納されています。
表2-2 変数に格納されるユーザー情報
システム変数 | 説明 |
---|---|
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で制限しています。
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ディレクトリに格納されたユーザー属性の値をデータ問合せにバインドするには、BI Publisherに属性名を定義して、必要なバインド変数を作成します。
バインド変数の作成に使用できる属性は、管理者が「セキュリティ構成」ページで定義する必要があります。この属性は、LDAPの「セキュリティ・モデル」定義にある「データ問合せバインド変数の属性名」フィールドで定義します。このフィールドの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のLDAPサーバーを認識するためのBI Publisherの構成に関する項を参照してください。ユーザーに対して定義された任意の属性を使用できます(例: memberOf、sAMAccountName、primaryGroupID、mail)。
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ディレクトリに格納された値を返します。