Oracle® Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド 11gリリース1(11.1.1) B66712-02 |
|
前へ |
次 |
この章では、BI Publisherでのデータ・セットの作成について説明します。データ・セットは、SQL問合せ、MDX問合せ、LDAP問合せ、Microsoft Excelワークシート、Webサービス、XMLファイルを含む様々なソースから作成できます。この章では、データ・モデルをテストしてサンプル・データを保存する方法についても説明します。
この章の内容は次のとおりです。
Oracle BI Publisherでは、いくつかのタイプのデータソースからデータを取得できます。
データ・モデル・エディタのコンポーネント・ペインで「データ・セット」をクリックします。このデータ・モデル用のすべてのデータ・セットが、作業ペインに表示されます。
編集するデータ・セットをクリックします。
「編集」ツールバー・ボタンをクリックします。データ・セットのダイアログが開きます。データ・セットの各タイプの詳細は、この章内で対応する項を参照してください。
データ・セットに変更を加えて、「OK」をクリックします。
データ・モデルを保存します。
編集したデータ・モデルをテストして、新しいサンプル・データを追加します。第2.14項「データ・モデルのテストとサンプル・データの生成」を参照してください。
SQL問合せを使用してデータ・セットを作成するには:
「新規データ・セット」アイコンをクリックして、「SQL問合せ」をクリックします。「データ・セットの作成 - SQL」ダイアログが開きます(図2-3を参照)。
このデータ・セットの名前を入力します。
「データソース」は、「プロパティ」ページで選択した「デフォルトのデータソース」にデフォルトで設定されています。このデータ・セットにデフォルトのデータソースを使用しないときには、リストから「データソース」を選択します。
SQL問合せを入力するか、「クエリー・ビルダー」を選択します。クエリー・ビルダー・ユーティリティの詳細は、第2.4項「クエリー・ビルダーの使用」を参照してください。
問合せ内でフレックスフィールドやバインド変数などの特別な処理を使用する場合は、クエリー・ビルダーから返された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.12項「キャラクタ・ラージ・オブジェクト(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」をクリックして、データ・セットを保存します。
この問合せからのデータを他の問合せからのデータとリンクする手順や、出力構造を変更する手順は、第3章「データの構造化」を参照してください。
基本的な問合せはこの時点で用意できていますが、レポートでは、ユーザーがこの問合せにパラメータを渡して結果を限定できるようにする必要があります。たとえば、従業員のリストで、ユーザーが特定の部門を選択できるようにする必要があります。
変数を追加するには、次のどちらかの方法を使用します。
クエリー・ビルダーの「条件」タブを使用してバインド変数を追加します。
クエリー・ビルダーの「条件」タブでバインド変数を追加するには:
次の「条件」を列に追加します。
in (:P_DEPTNAME)
このP_DEPTNAMEは、そのパラメータに選択した名前になります。図2-8にこれを示します。
SQL問合せを、テキスト・ボックス内で直接更新します。
重要: 問合せを手動で編集すると、その問合せをクエリー・ビルダーで解析することはできなくなります。それ以降の編集も、手動で実行する必要があります。 |
テキスト・ボックス内でSQL問合せを直接更新するには:
パラメータのプロパティを定義する場合は、第4章「パラメータと値リストの追加」を参照してください。
クエリー・ビルダーからデータ・モデル・エディタに問合せを保存しておくと、その問合せの編集にクエリー・ビルダーを使用することもできます。
クエリー・ビルダーを使用して問合せを編集するには:
SQLデータ・セットを選択します。
「選択したデータ・セットの編集」ツールバー・ボタンをクリックします。
これにより、「データ・セットの編集」ダイアログが開きます。「クエリー・ビルダー」をクリックして、クエリー・ビルダーに問合せをロードします。
注意: 問合せが変更されている場合や、問合せの作成にクエリー・ビルダーを使用していない場合には、その問合せを編集するためにクエリー・ビルダーを起動するとエラーが示されることがあります。クエリー・ビルダーで問合せを解析できないときには、テキスト・ボックス内で文を直接編集してください。 |
問合せを編集して、「保存」をクリックします。
BI Publisherでは、OLAPデータソースに対してマルチディメンション式(MDX)問合せをサポートしています。MDXを使用すると、キューブなどのマルチディメンション・オブジェクトに対して問合せを実行して、キューブのデータを含むマルチディメンション・セルセットを戻すことができます。MDXの構文とサポートされる関数の詳細は、OLAPデータベースのドキュメントを参照してください。図2-11に、MDX問合せの例を示します。
OLAPデータソースに対するMDX問合せを使用してデータ・セットを作成するには:
「新規データ・セット」ツールバー・ボタンをクリックして、「OLAP」を選択します。「データ・セットの作成 - OLAP」ダイアログボックスが開きます。
このデータ・セットの名前を入力します。
このデータ・セットの「データソース」を選択します。OLAP接続として定義されたデータソースのみがリストに表示されます。
MDX問合せを直接入力するか、サード・パーティのMDXエディタからコピー・アンド・ペーストします。
「OK」をクリックします。
この問合せからのデータを他の問合せからのデータとリンクする手順や、出力構造を変更する手順は、第3章「データの構造化」を参照してください。
BI Publisherでは、Lightweight Directory Access Protocol (LDAP)データソースに対する問合せをサポートしています。LDAPディレクトリに格納されているユーザー情報を問い合せてから、データ・モデル・エディタを使用すると、そのユーザー情報をその他のデータソースから取得したデータとリンクできます。
たとえば、データベース・アプリケーションに格納されている従業員の給与情報をリストするレポートを生成するときに、LDAPディレクトリに格納されている従業員の電子メール・アドレスもレポートに含める場合などです。それぞれを対象にした問合せを作成してから、それら2つをデータ・モデル・エディタでリンクすることで単一のレポートに情報を表示できます。図2-12に、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ファイルをデータソースとして使用するには、次のどちらかを実行します。
データソースとして管理者が設定したディレクトリにファイルを格納します。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-13は、Microsoft Excel 2007の「名前の定義」コマンドを使用して、表にBIP_Salariesという名前を付ける方法を示しています。
データ・セットにパラメータを含めるには、最初にパラメータを定義して、それらのパラメータをデータ・セットの定義時に選択できるようにしておく必要があります。第4章「パラメータと値リストの追加」を参照してください。
重要: Excelデータ・セット・タイプでは、パラメータごとに1つの値がサポートされます。複数パラメータの選択はサポートされていません。 |
ファイル・ディレクトリ・データソースにあるMicrosoft Excelファイルを使用してデータ・セットを作成するには:
「新規データ・セット」ツールバー・ボタンをクリックして、「Microsoft Excelファイル」を選択します。「データ・セットの作成 - Excel」ダイアログが開きます。
このデータ・セットの名前を入力します。
「共有」をクリックして、「データソース」リストを有効にします。
Excelファイルが存在する「データソース」を選択します。
参照アイコンをクリックして、データソース・ディレクトリ内のMicrosoft Excelファイルを参照します。ファイルを選択します。
Excelファイルに複数のシートや表が含まれている場合には、このデータ・セットに適した「シート名」および「表名」を選択します(図2-14を参照)。
このデータ・セットにパラメータを追加する場合は、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。第4章「パラメータと値リストの追加」を参照してください。
「OK」をクリックします。
この問合せからのデータを他の問合せからのデータとリンクする手順や、出力構造を変更する手順は、第3章「データの構造化」を参照してください。
データ・セットにパラメータを含めるには、最初にパラメータを定義して、そのパラメータをデータ・セットの定義時に選択できるようにしてください。第4章「パラメータと値リストの追加」を参照してください。
重要: Excelデータ・セット・タイプでは、パラメータごとに1つの値がサポートされます。複数パラメータの選択はサポートされていません。 |
ローカルに格納されたMicrosoft Excelファイルを使用してデータ・セットを作成するには:
「新規データ・セット」ツールバー・ボタンをクリックして、「Microsoft Excelファイル」を選択します。「データ・セットの作成 - Excel」ダイアログが開きます。
このデータ・セットの名前を入力します。
「ローカル」を選択して、アップロード・ボタンを有効にします。
「アップロード」アイコンをクリックし、ローカル・ディレクトリのMicrosoft Excelファイルを参照して、アップロードします。このファイルがすでにデータ・モデルにアップロードされている場合は、「ファイル名」リストから選択できます。
Excelファイルに複数のシートや表が含まれている場合には、このデータ・セットに適した「シート名」および「表名」を選択します(図2-15を参照)。
このデータ・セットにパラメータを追加する場合は、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。第4章「パラメータと値リストの追加」を参照してください。
「OK」をクリックします。
この問合せからのデータを他の問合せからのデータとリンクする手順や、出力構造を変更する手順は、第3章「データの構造化」を参照してください。
ファイルをアップロードすると、そのファイルはデータ・モデルの「プロパティ」ペインにある「添付ファイル」リージョンに表示されます(図2-16を参照)。
「プロパティ」ペインの詳細は、第1.8項「データ・モデルのプロパティの設定」を参照してください。
データ・モデル内のローカル・ファイルをリフレッシュするには:
コンポーネント・ペインで「データ・モデル」をクリックして、「プロパティ」ページを表示します。
このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。
「リフレッシュ」をクリックします。
「アップロード」ダイアログで、最新バージョンのファイルを参照してアップロードします。このファイルには同じ名前を付ける必要があります。別の名前を付けると古いバージョンは置き換えられません。
データ・モデルを保存します。
ローカル・ファイルを削除するには:
コンポーネント・ペインで「データ・モデル」をクリックして、「プロパティ」ページを表示します。
このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。
「削除」をクリックします。
「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-17を参照)。
カタログ接続のダイアログが開いたら、フォルダに移動して、レポートのデータ・セットとして使用するOracle BI分析を選択します。
「タイムアウト」値を秒数単位で入力します(図2-18を参照)。この「タイムアウト」値に指定した時間を経過してもBI Publisherが分析データを取得できない場合、BI Publisherは分析データの取得の試行を停止します。
「OK」をクリックします。
パラメータと値リストは、BI分析から継承され、実行時に表示されます。
BI Analysisには、フィルタ変数用に定義されたデフォルト値が必要です。分析にデフォルト値のないプレゼンテーション変数が含まれていると、BI Publisherではデータソースとしてサポートされなくなります。
Oracle BI Analysisデータ・セットに基づいてデータを構造化する必要がある場合は、グループのブレーク、データのリンクおよびグループ・レベル関数はサポートされません。
サポート対象は次のとおりです。
グローバル・レベル関数
要素がNULLの場合の値の設定
グループ・フィルタ
前述のサポート対象機能の詳細は、第3章「データの構造化」を参照してください。
BI Publisherを使用すると、Oracle Application Development Frameworkで作成したカスタム・アプリケーションに接続して、そのアプリケーションのビュー・オブジェクトをレポートのデータソースとして使用できます。
この手順は、アプリケーションでビュー・オブジェクトが作成されていることを前提とします。詳細は、第2.9項「ビュー・オブジェクトを使用したデータ・セットの作成」を参照してください。
ビュー・オブジェクトを使用してデータ・セットを作成するには:
「新規データ・セット」ツールバー・ボタンをクリックして、「ビュー・オブジェクト」を選択します。「データ・セットの作成 - ビュー・オブジェクト」ダイアログが開きます。
このデータ・セットの名前を入力します。
リストから「データソース」を選択します。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-19を参照)。
このデータ・セットの名前を入力します。
データ・セット情報を入力します。
「複合タイプ」に「False」を選択します。
「WSDL URL」に、「http://www.webservicex.net/stockquote.asmx?WSDL」と入力します。
メソッドに「GetQuote」と入力します。
必要に応じて、「タイムアウト」の時間を秒単位で入力します。BI PublisherサーバーでWebサービスとの接続を確立できない場合、指定したタイムアウト時間が経過すると接続の試行はタイムアウトになります。
パラメータを定義し、そのパラメータをWebサービスのデータ・セットで使用可能にします。
「データ・モデル」ペインで「パラメータ」を選択して、「新規パラメータの作成」ボタンをクリックします。次の項目を入力します。
識別子: パラメータの内部識別子を入力します(例: Quote)。
データ型: 「文字列」を選択します。
デフォルト値: 必要に応じて、パラメータのデフォルト値を入力します(例: ORCL)。
パラメータ・タイプ: 「テキスト」を選択します。
「テキスト設定」リージョンで、次の項目を入力します。
表示ラベル: パラメータに表示されるラベルを入力します(例: Stock Symbol)。
テキスト・フィールド・サイズ: テキスト入力フィールドのサイズを文字数単位で入力します。
適用するオプションを選択します。
テキスト・フィールドにカンマ区切りの値を含む: このオプションを選択すると、ユーザーはこのパラメータに対してカンマ区切りの複数の値を入力できます。
変更時に他のパラメータをリフレッシュ: このパラメータの値に依存する値を持つ他のパラメータをリフレッシュするために、ページの部分的なリフレッシュを実行します。
Webサービス・データ・セットに戻り、パラメータを追加します。
データ・セット名「Stock Quote」をクリックします。「パラメータの追加」をクリックします。これで、指定したQuoteパラメータが、リストから使用できるようになります。
「選択したデータ・セットの編集」ボタンをクリックします。
「データ・セットの編集」ダイアログで、「パラメータの追加」をクリックします。Quoteパラメータが表示されます(図2-21を参照)。
「OK」をクリックして、データ・セットを閉じます。
「保存」をクリックします。
結果のXMLを表示するには、「XML出力の取得」を選択します。
Stock Symbolパラメータに有効な値を入力し、「戻す行数」を選択して「実行」ボタンをクリックします。図2-22に、この例から返されたデータを示します。
複合的な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サービス・データ・セットを選択します。
「選択したデータ・セットの編集」をクリックして「データ・セットの編集」ダイアログを開きます。
「パラメータ」の入力フィールドに${Parameter_Name}という構文を入力します。この構文のParameter_Nameは、BI Publisherにパラメータを定義したときに「名前」に入力した値になります。図2-23に、パラメータの入力例を示します。
Webサービスをテストする場合は、第2.14項「データ・モデルのテストとサンプル・データの生成」を参照してください。
データソースの設定時に、ファイル・ディレクトリをデータソースとして定義できます。詳細は、Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイドのファイル・データソースへの接続の設定に関する項を参照してください。このファイル・ディレクトリにXML文書を配置すると、レポートのデータソースとして直接アクセスできます。
格納済のXMLファイルを使用してデータ・セットを作成するには:
「新規作成」ツールバー・ボタンをクリックして、「XML」を選択します。「データ・セットの作成 - ファイル」ダイアログが開きます(図2-24を参照)。
このデータ・セットの名前を入力します。
XMLファイルが存在する「データソース」を選択します。このリストは、構成済のファイル・データソース接続から移入されます。
「参照」をクリックしてデータソースに接続し、使用可能なディレクトリを参照します。このレポートに使用するファイルを選択します。
「OK」をクリックします。
BI Publisherでは、キャラクタ・ラージ・オブジェクト(CLOB)データ型として格納されたデータのデータ・モデル内での使用をサポートしています。この機能によって、別のプロセスで生成してデータベースに保存してあるXMLデータを、BI Publisherデータ・モデルへの入力として使用できます。
クエリー・ビルダーを使用して、SQL問合せで列を取得してから、データ・モデル・エディタを使用して、必要なデータ構造を指定します。データ・モデルの実行時に、データ・エンジンは次のいずれかの形式でデータを構造化します。
レポートに表示できるXMLタグ名内のプレーンな文字セット(例: 項目の説明)
構造化XML
CLOBとして格納されたデータからデータ・セットを作成するには:
「新規データ・セット」アイコンをクリックして、「SQL問合せ」をクリックします。「データ・セットの作成 - SQL」ダイアログが開きます。
このデータ・セットの名前を入力します。
このデータ・セットのデフォルト・データソースを使用しない場合は、リストから「データソース」を選択します。
SQL問合せを入力するか、「クエリー・ビルダー」を使用してCLOBデータ列を取得する問合せを作成します。クエリー・ビルダー・ユーティリティの詳細は、第2.4項「クエリー・ビルダーの使用」を参照してください。図2-25は、列名DESCRIPTIONにCLOBデータが格納されている場合の問合せの例です。
問合せの入力後に、「OK」をクリックして保存します。BI Publisherによって、問合せが検証されます。
デフォルトでは、データ・モデル・エディタはCLOB列にCLOBデータ型を割り当てます。データ型をXMLに変更するには、データ型アイコンをクリックして「XML」を選択します(図2-26を参照)。
問合せの実行時、CLOB列に整形式XMLが含まれていると、データ・エンジンはCLOB列のタグ名内に構造化されたXMLデータを返します。
データ型がXMLの場合の出力例
<DESCRIPTION>要素には、CLOB列内に格納されたXMLデータが含まれています(図2-27を参照)。
データ型がCLOBの場合の出力例
CLOBデータ型としてデータが返されるように選択している場合、返されるデータは図2-28に示すように構造化されます。
バースティング問合せで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-29を参照)。
次のデータが、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-29を参照)。
HTTP (XML入力)データ・セット・タイプを使用すると、Web上のRSSおよびXML入力からHTTP GETメソッドでデータを取得して、データ・モデルを作成できます。
重要: システムのセキュリティに応じて、外部データソースのフィードにアクセスするために追加の構成が必要になることがあります。RSSフィードがSecure Sockets Layer (SSL)で保護されている場合は、Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイドのSecure Sockets Layer通信用にBI Publisherを構成する方法に関する項を参照してください。 |
データ・セットにパラメータを含めるには、最初にパラメータを定義して、そのパラメータをデータ・セットの定義時に選択できるようにしてください。第4章「パラメータと値リストの追加」を参照してください。
HTTP XML入力からデータ・セットを作成するには:
「新規データ・セット」ツールバー・ボタンをクリックして「HTTP(XML入力)」を選択します。「データ・セットの作成 - HTTP」ダイアログが開きます(図2-30を参照)。
このデータ・セットの名前を入力します。
RSSフィードまたはXML入力のソースURLを入力します。
「メソッド」に「GET」を選択します。
必要に応じて、URLに対するユーザー名、パスワードおよびレルムを入力します。
パラメータを追加するには、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。第4章「パラメータと値リストの追加」を参照してください。
「OK」をクリックして、データ・セットのダイアログを閉じます。
データ・モデル・エディタを使用すると、データ・モデルをテストして出力を表示できるようになるため、期待した結果が得られることを確認できます。テストの実行が正常に完了した後で、テスト出力をデータ・モデルのサンプル・データとして保存するか、外部の場所にファイルをエクスポートするかを選択できます。データ・モデルの実行が失敗した場合は、データ・エンジン・ログを表示してください。
データ・モデルをテストするには:
「XML出力の取得」ツールバー・ボタンをクリックします(図2-31を参照)。
この操作によって、「XML出力」ページが開きます。
「戻す行数」を選択します。パラメータが含まれている場合は、テスト用に適切な値を入力します。
「実行」をクリックして、データ・モデルから返されるXMLを表示します。
テスト・データをデータ・モデル用のサンプル・データとして保存するには:
データ・モデルの実行が正常に完了したら、「オプション」ツールバー・ボタンをクリックして、「サンプル・データとして保存」をクリックします(図2-33を参照)。このサンプル・データは、データ・モデルに保存されます。詳細は、第1.8.2項「データ・モデルへの添付ファイル」を参照してください。
データ・モデルの実行が正常に完了した後で、「オプション」ツールバー・ボタンをクリックして、「XMLのエクスポート」を選択します。ファイルの保存を求めるプロンプトが表示されます。
データ・エンジン・ログを表示するには:
「オプション」ツールバー・ボタンを選択して、「データ・エンジン・ログの取得」を選択します。ファイルを開くか保存するよう要求されます。データ・エンジン・ログ・ファイルは、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で制限しています。
selectthroughEMPLOYEES.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ディレクトリに格納された値を返します。