SQL問合せを使用したデータセットの作成
次のトピックでは、SQL問合せを使用してデータセットを作成する方法について説明します。
SQLクエリー・ビルダーの使用
コーディングせずにSQL問合せを作成するには、クエリー・ビルダーを使用します。 クエリー・ビルダーを使用すると、SQLに関する最小限の知識で、データベース・オブジェクトの検索とフィルタ処理、オブジェクトと列の選択、オブジェクト間の関連の作成、および書式設定された問合せ結果の表示を行うことができます。
この項では、クエリー・ビルダーの使用方法について説明します。この項の内容は次のとおりです。
クエリー・ビルダーの概要
「クエリー・ビルダー」ページは、「オブジェクト選択」ペインと設計と出力ペインに分かれています。
-
「オブジェクト選択」ペインには、問合せの作成に使用できるオブジェクトのリストが表示されます。 現行スキーマのオブジェクトのみが表示されます。
-
設計と出力ペインは、次の4つのタブで構成されています。
-
モデル - 「オブジェクト選択」ペインから選択したオブジェクトが表示されます。
-
条件 - 選択した列に条件を適用できます。
-
SQL - 問合せが表示されます。
-
結果 - 問合せの結果が表示されます。
-
サポートされている列タイプ
すべてのタイプの列がオブジェクトとして「設計」ペインに表示されます。 各問合せで選択できる列の数は60以下です。
データ・ゲートウェイを使用してデータ・ソースを接続する場合、SQL問合せではSTRING、CHAR、VARCHAR、NCHAR、NVARCHAR、DATE、TIMESTAMP、NUMBER、INTEGER、FLOATおよびDOUBLEデータ型のみがサポートされます。 データ・ゲートウェイ経由で接続されたデータ・ソースにアクセスするSQL問合せに、サポートされていないデータ型が含まれている場合は、エラー・メッセージが表示されます。
サポートされている列タイプ | 制限事項 |
---|---|
VARCHAR2、CHAR | 該当なし |
NUMBER | 該当なし |
DATE、TIMESTAMP | TIMESTAMP WITH LOCAL TIMEZONE データ型はサポートされていません。
|
バイナリ・ラージ・オブジェクト(Binary Large Object: BLOB) | BLOBは、イメージ、テキストまたはXMLデータになります。 クエリー・ビルダーで問合せを実行すると、BLOBは「結果」ペインに表示されませんが、問合せはデータ・モデル・エディタに保存されるときに正しく作成されます。 BIJDBCドライバの制限により、BLOBデータはOracle BI EEデータ・ソースではサポートされていません。
イメージ・データ型でBLOBデータ列を使用する場合は、RTFテンプレートを使用します。 |
キャラクタ・ラージ・オブジェクト(CLOB) | Publisherでは、Oracle BI EEデータソースでのCLOB列の問合せはサポートされていません。 |
設計ペインへのオブジェクトの追加
設計ペインに追加する各オブジェクトを選択します。
-
オブジェクトを追加すると、データ型を表すアイコンが列名の横に表示されます。
-
列を選択すると、その列が「条件」タブに表示されます。 「条件」タブの「表示」チェック・ボックスは、問合せ結果に列を含めるかどうかを制御します。 このチェック・ボックスは、デフォルトでは選択されています。
-
最初の20列を選択するには、オブジェクトの左上隅にある小さいアイコンをクリックし、すべてチェックを選択します。
-
問合せは、[Ctrl]+[Enter]キーを押して実行することもできます。
- オブジェクトを選択します。
- 問合せに含める各列のチェック・ボックスを選択します。
- 問合せを実行して結果を表示するには、「結果」を選択します。
設計ペインでのオブジェクトの削除または非表示
クエリー・ビルダーの設計ペインでオブジェクトを削除または非表示にできます。
- オブジェクトを削除するには、オブジェクトの右上隅にある「削除」をクリックします。
- オブジェクト内の列を一時的に非表示にするには、「列の表示/非表示」をクリックします。
問合せ条件
条件を使用すると、作業対象のデータをフィルタ処理して識別できます。
オブジェクト内の列を選択するときは、「条件」タブで条件を指定できます。 列別名の変更、列条件の適用、列のソートまたは関数の適用を行うことができます。
条件属性 | 説明 |
---|---|
条件 |
条件によって、問合せのWHERE句が変更されます。 列条件を指定するときは、適切な演算子およびオペランドを含める必要があります。 標準のSQL条件はすべてサポートされています。 たとえば: >=10 ='VA' IN (SELECT dept_no FROM dept) BETWEEN SYSDATE AND SYSDATE + 15 |
関数 |
関数を指定します。 使用可能な引数関数は次のとおりです。
|
グループ基準 |
集計関数の使用時にグループ化に使用する列を指定します。 出力に含まれる列にのみ適用できます。 |
列を選択し条件を定義すると、クエリー・ビルダーによってSQLが書き込まれます。 基礎となるSQLを表示するには、「SQL」タブを選択します。
オブジェクト間の関係の作成
結合を作成することで、オブジェクト間の関係を作成できます。 結合によって、複数の表、ビューまたはマテリアライズド・ビューの間の関連が識別されます。
結合条件について
結合の問合せを記述するときは、2つのオブジェクトの関係を示す条件を指定します。 この条件は結合条件と呼ばれます。
結合条件によって、1つのオブジェクトの行を別のオブジェクトの行とどのように組み合せるかが指定されます。
クエリー・ビルダーは、内部結合、外部結合、左側結合および右側結合をサポートしています。
-
内部結合(単純結合とも呼ばれます)は、結合条件を満たす行を戻します。
-
外部結合は、単純結合の結果を拡張します。
外部結合は、結合条件を満たすすべての行を戻し、さらに、一方の表に結合条件を満たす行がない場合は、結合条件を満たす一部またはすべての行をもう一方の表から戻します。
保存された問合せの編集
クエリー・ビルダーで問合せを保存した後、データ・モデル・エディタで、クエリー・ビルダーを使用して問合せを編集することもできます。
問合せを変更した場合、または問合せの作成にクエリー・ビルダーを使用しなかった場合は、問合せを編集するためにクエリー・ビルダーを起動するとエラーを受信することがあります。 クエリー・ビルダーが問合せを解析できない場合、テキスト・ボックス内の文を直接編集できます。
カスタマイズ済問合せや拡張問合せの編集にはクエリー・ビルダーを使用できません。
- データ・モデル・エディタの「データ・セット」で、編集するSQLデータセットを選択します。
- ツールバーで、選択したデータセットの編集をクリックして、「データセットの編集」ダイアログを起動します。
- 「クエリー・ビルダー」をクリックして、クエリー・ビルダーに問合せをロードします。
- 問合せを編集して、「保存」をクリックします。
SQL問合せへの字句参照の追加
SQL問合せで字句参照を使用すると、SELECT、FROM、WHERE、GROUP BY、ORDER BYまたはHAVINGの後に出現する句を置換できます。
実行時にパラメータで複数の値を置換する場合は字句参照を使用します。 字句参照を使用してフレックスフィールドを問合せに組み込めることもできます。 字句参照はFusion Applications Suiteのアプリケーションに対する問合せでのみサポートされています。
SQL問合せの中に字句参照を作成するには、次の構文を使用します。
¶metername
Oracle BIサーバーに対するSQL問合せの定義について
Oracle BIサーバーに対するSQL問合せを定義する場合は、次の点に注意してください。
-
SQLデータ・エディタまたはクエリー・ビルダーを使用して、SQL問合せをOracle BIサーバーに対して作成するときは、論理SQLが生成されます。他のデータベース・ソースの場合とは異なり、物理SQLは生成されません。
-
階層列はサポートされていません。 最も上のレベルが常に返されます。
-
サブジェクト領域内では、表間の結合条件がすでに作成されています。したがって、クエリー・ビルダーで結合を作成する必要はありません。 クエリー・ビルダーによって主キーが公開されることはありません。
データ・モデル・エディタの「リンクの作成」機能を使用して、データセットをリンクできます。 要素レベルのリンクの作成を参照してください。 Oracle BIサーバーから作成されたデータセットには、1つのデータ・モデルごとに2つの要素レベルのリンクという制限があります。
-
クエリー・ビルダーの「条件」タブに表示される機能のうち、「ソート順序」と「グループ基準」は、Oracle BIサーバーに対する問合せの場合はサポートされません。 「ソート順序」に入力した場合や、「グループ基準」チェック・ボックスを選択した場合は、クエリー・ビルダーによってSQLが作成され、Publisherの「SQL問合せ」テキスト・ボックスに出力されますが、「データセット」ダイアログを閉じようとすると、問合せは検証に失敗します。
SQL問合せで取り出したデータをグループ化するには、データ・モデル・エディタの「グループ基準」機能をかわりに使用してください。 「サブグループの作成」を参照してください。
-
パラメータをOracle BIサーバーに渡すとともに、「全選択可能」で「NULL値が渡されました」を選択した場合は、問合せの中で確実にnull値を処理してください。