この章では、Oracle Airlines Data Modelウェアハウスのデータのレポート、問合せおよびダッシュボードの作成について説明します。この付録には、次の項があります。
Oracle Airlines Data Modelウェアハウスのデータからレポートを作成する2つの主なアプローチがあります。
リレーショナル・レポート
リレーショナル・レポートでは、スターのディメンションとして機能するディメンションまたは検索表とともにスターの中心にファクト表を使用して、分析レイヤー・エンティティのレポートを作成します。通常、ファクトは、DWM_
ディメンションを含む導出表(DWD_
)および集計表(DWA_
)です。ただし、詳細なレポートを生成するため、参照表(DWR_
)または検索表(DWL_
)とともに実表(DWB_
)を使用する必要がある場合があります。
通常、ディメンション(DWM_
)表は、ビジネス階層を含むディメンションを表し、各レベルの階層の表を含むスノーフレーク・エンティティの形式で存在します。これにより、異なる精度で構成される複数のサブジェクト領域およびファクト・エンティティの参照表の適切なセットを関連付けることができます。たとえば、時間ディメンション表(DWM_CLNDR
)を使用して、DWD_PNR
などの、DAY
レベルの乗客名レコード(PNR)データに対して問合せできます。
参照表(DWR_
)および検索表(DWL_
)は、値のフラット・リストを含む単一のレベルで構成されるより単純なディメンションを表します。通常、ほとんどのレポート・ツールは、表面的な最上位レベルをディメンションに追加します。これらは、DWL_
で始まる個々の表またはまたは様々なコード・タイプを個別のディメンションに分割するDWL_CODE_MASTER
のビュー(DWL_
という名前)の可能性があります。
OLAPレポート
OLAPレポートでは、ディメンションおよびキューブ(ファクト)ビューに対してSQLを使用して、Oracle OLAPキューブにアクセスします。キューブおよびディメンションは、スター・スキーマ設計を使用して表されます。ディメンション・ビューは、キューブ(またはファクト)ビューの周囲に集団を形成します。ディメンションのビューおよびキューブ・ビューは、_VIEW
で終わる名前を使用したリレーショナル・ビューです。
OLAPディメンション・ビューは、レベル列(level_name
として識別されます)に基づいて論理的にパーティション化されるすべてのレベルの階層を含む全体のディメンションに関連する情報を含みます。OLAPディメンションは、スノーフレーク・ディメンション表のフラット化されたビューと考えることができます。通常、Oracle Airlines Data Modelでは、ディメンション・ビューは、dimension
_
hierarchy
_VIEW
という名前になります。
キューブ・ビューは、キューブ定義の一部である個々のディメンションのレベルの様々な組合せに関連するファクトを含みます。また、キューブ・ビューおよびディメンション・ビューの結合は、必要なディメンション・レベル・フィルタとともにディメンション・キーに基づいています。通常、Oracle Airlines Data Modelでは、キューブ・ビューは、cube
_VIEW
という名前になります。
OLAPビューはスター・スキーマとしてモデル化されますが、Oracle Business Intelligence Suite Enterprise Editionの特別なモデル化技術を必要とするOLAPレポート方法の特定の一意な機能があります。
関連項目: Oracle BI Enterprise EditionでのOracle OLAP 11gの使用に関するOracle By Exampleチュートリアル。チュートリアルにアクセスするには、「Oracle Technology Network」の指示に従ってブラウザでOracle Learning Libraryを開き、名前でチュートリアルを検索します。 |
残りのこの章では、Oracle Airlines Data Modelレポートの作成方法について説明します。Oracle Airlines Data Modelレポートの例は、次を参照してください。
Oracle Airlines Data Modelで提供されているサンプル・レポート(『Oracle Airlines Data Modelリファレンス』で説明されています)。
サンプル・レポートとダッシュボードは、Oracle Airlines Data Modelで提供されます。これらのサンプル・レポートは、Oracle Airlines Data Modelに付属の分析機能(OLAPやデータ・マイニング機能など)を示しています。
参照: サンプル・レポートのインストール、ならびにBusiness Intelligence Suite Enterprise EditionインスタンスでのOracle Airlines Data Model RPDおよびWebcatのデプロイの詳細は、『Oracle Airlines Data Modelインストレーション・ガイド』を参照してください。 |
サンプル・レポートは、あらゆる分析およびレポート機能を提供するエンタープライズ・ビジネス・インテリジェンス製品の包括的なスイートであるOracle Business Intelligence Suite Enterprise Editionを使用して開発されています。このため、レポートは、Oracle Business Intelligence Suite Enterprise Edition AnswersおよびDashboardプレゼンテーション・ツールを使用して有用なレポートを簡単に作成できることも示します。
Oracle Business Intelligence Suite Enterprise Edition AnswersおよびDashboardプレゼンテーション・ツールを使用して、事前定義済のサンプル・ダッシュボード・レポートをカスタマイズできます。
Oracle BI Answers。純粋なWebアーキテクチャでエンド・ユーザーに非定型機能を提供します。ユーザーは情報の論理ビューと対話するため、データ構造の複雑さが完全に隠されると同時にランナウェイ問合せが防がれます。ユーザーは、チャート、ピボット・テーブル、レポートおよび視覚に訴えるダッシュボードを簡単に作成できます。
Oracle BI Interactive Dashboards。ナレッジ・ワーカーに、情報への直感的で対話的なアクセスを提供します。エンド・ユーザーは、レポート、プロンプト、チャート、表、ピボット・テーブル、グラフィックスおよびチケットを操作できます。ダッシュボードで得られた結果は、ドリル操作、ナビゲート、変更、対話が可能です。
参照: サンプル・レポートの詳細は、『Oracle Airlines Data Modelリファレンス』を参照してください。 |
注意: 例に使用される、Oracle Airlines Data Modelに付属のレポートおよびダッシュボードは、デモの目的にのみ利用できます。Oracleによるサポートはありません。 |
oadm_sys
スキーマは、Oracle Communications Data Modelのリレーショナル表およびビューを定義します。任意のSQLレポート・ツールを使用して、これらの表およびビューに対する問合せおよびレポートを行うことができます。
Oracle Airlines Data Modelでは、oadm_sys
スキーマに定義されているOLAPキューブを使用したオンライン分析処理(OLAP)レポートもサポートされます。SQLツールを使用してキューブに対して定義されているビューを問い合せるか、OLAPツールを使用してOLAPコンポーネントを直接問い合せることで、OLAPキューブの問合せおよびOLAPキューブに関するレポートの作成を行うことができます。
関連項目: 「Oracle Airlines Data Modelのレポート・アプローチ」、「Oracle OLAPキューブ・ビュー」および『Oracle OLAPユーザーズ・ガイド』のディメンション・オブジェクトの問合せの説明。 |
例5-1 Oracle Airlines Data Modelのリレーショナル問合せの作成
たとえば、2010年2月のビジネス・クラスの合計予約数を知る必要がある場合を想定します。この質問に回答するには、次の表で説明する表を問い合せる必要があります。
エンティティ名 | 表名 | 説明 |
---|---|---|
日次予約ファクト | DWA_DLY_BKG_FACT |
予約関連のファクト・データを格納します。 |
予約クラス・ファクト | DWM_BKG_CLS_TYP |
ビジネス、エコノミーなどの予約クラス・タイプ。 |
カレンダ | DWM_CLNDR |
カレンダ情報を格納します。 |
問合せを行うには、次のSQL文を実行します。
select DWM_CLNDR.CLNDR_MONTH_CD,DWM_BKG_CLS_TYP.SVC_CLS_DESC,sum(DWA_DLY_BKG_FACT.BKD) as Booking_Count from DWA_DLY_BKG_FACT,DWM_CLNDR,DWM_BKG_CLS_TYP where DWM_CLNDR.CLNDR_KEY=DWA_DLY_BKG_FACT.BKG_DT_KEY and DWM_BKG_CLS_TYP.BKG_CLS_KEY=DWA_DLY_BKG_FACT.BKG_CLS_KEY and DWM_BKG_CLS_TYP.SVC_CLS_DESC='BUSINESS' and DWM_CLNDR.CLNDR_MONTH_KEY=20100201 group by DWM_CLNDR.CLNDR_MONTH_CD, DWM_BKG_CLS_TYP.SVC_CLS_DESC
この問合せの結果を次に示します。
CLNDR_MONTH_CD SVC_CLS_DESC BOOKING_COUNT ------------------------- -------------------- ---------------------- 20100201 BUSINESS 61
アクセス・レイヤーの通常の問合せは、ファクト表と多数のディメンション表の結合で、一般的にスター・クエリーと呼ばれます。スター・クエリーで、各ディメンション表は、主キーと外部キーの結合を使用してファクト表に結合されます。通常、ディメンション表は相互に結合しません。
通常、このような問合せで、すべてのWHERE
句の述語はディメンション表およびファクト表にあります。このタイプの問合せの最適化は非常に容易です。
最適化するには、次の手順を実行します。
ビットマップ索引をファクト表の各外部キー列上に作成します。
初期化パラメータSTAR_TRANSFORMATION_ENABLED
をTRUE
に設定します。
これにより、デフォルトで下位互換性がオフのスター・クエリーのオプティマイザ機能が有効になります。
使用している環境がこれらの2つの基準を満たすと、スター・クエリーは、スター型変換と呼ばれるSQLをリライトまたは変換する強力な最適化技術を使用します。スター型変換は、2つのフェーズで問合せを実行します。
ファクト表(行セット)から必要な行を取得します。
この行セットをディメンション表に結合します。
すべての外部キー列のビットマップ索引間のビットマップ結合を使用して、ファクト表の行を取得します。オプティマイザが該当する場合にSTAR_TRANSFORMATION
を自動的に選択するため、エンド・ユーザーはSTAR_TRANSFORMATION
の詳細を把握する必要がありません。
例5-2「スター型変換」に、STAR_TRANSFORMATION
を使用してスター・クエリーを最適化する段階的なプロセスを示します。
例5-2 スター型変換
図3-1「スター・スキーマ・ダイアグラム」のスター・スキーマに対して要求される可能性のあるビジネス上の質問として、「2008年5月中にボストンで販売された傘の総数は何ですか」という質問があります。
元の問合せです。
select SUM(quantity_sold) total_umbrellas_sold_in_Boston From Sales s, Customers c, Products p, Times t Where s.cust_id=cust_id And s.prod_id = p.prod_id And s.time_id=t.time_id And c.cust_city='BOSTON' And p.product='UMBRELLA' And t.month='MAY' And t.year=2008;
表示されているとおり、すべてのWHERE句の述語はディメンション表にあり、ファクト表(Sales
)が外部キー、主キー・リレーションシップを使用して各ディメンションに結合されます。
次の処置を行います。
ビットマップ索引をファクト表の各外部キー列上に作成します。
初期化パラメータSTAR_TRANSFORMATION_ENABLED
をTRUE
に設定します。
リライトされた問合せです。問合せをリライトおよび転送し、外部キー列のビットマップ索引を使用してファクト表から必要な行のみを取得します。
select SUM(quantity_sold From Sales Where cust_id IN (select c.cust_id From Customers c Where c.cust_city='BOSTON') And s.prod_id IN (select p.prod_id From Products p Where p.product='UMBRELLA') And s.time_id IN (select t.time_id From Times(Where t.month='MAY' And tyear=2008);
この方法で問合せをリライトすると、ビットマップ索引の長所を利用できます。ビットマップ索引はデータベース内の集合ベース処理を提供するため、AND
、OR
、MINUS
、COUNT
などの集合演算の様々なファクト方法を使用できます。そのため、time_id
のビットマップ索引を使用して、2008年5月の売上に対応するファクト表の行のセットを識別します。ビットマップで、行のセットは、1および0の文字列として実際に表されます。同様のビットマップを傘の売上に対応するファクト表の行に対して取得し、別のビットマップでボストンの売上にアクセスします。この時点で3つのビットマップが存在し、個々のディメンション制約を満たすファクト表の一連の行をそれぞれ表します。3つのビットマップがビットマップAND
操作を使用して結合され、この新しく作成された最終的なビットマップを使用して、問合せの評価に必要なファクト表から行を抽出します。
リライトされた問合せを使用して、ファクト表からディメンション表に行を結合します。
通常、ディメンション表に戻る結合はハッシュ結合を使用して実行されますが、Oracleオプティマイザはディメンション表のサイズに依存する最も効率的な結合方法を選択します。
次の図は、STAR_TRANSFORMATION
を開始する場合のスター・クエリーの通常の実行計画を示します。実行計画は、想定どおりに表示されない場合があります。Sales
表から行を正常に取得した後、顧客表に戻る結合がないことがわかります。選択リストを詳細に参照すると、Customers
表から実際に何も選択されていないことがわかるため、オプティマイザはディメンション表に戻る結合を把握する必要がありません。また、一部の問合せでSTAR_TRANSFORMATION
を開始してもファクト表のすべてのビットマップ索引を使用しない場合があることがわかります。オプティマイザは、ファクト表から必要な行を取得するために必要なビットマップ索引の数を決定します。追加のビットマップ索引が選択性を改善しない場合、オプティマイザはそのビットマップ索引を使用しません。実行計画の除外されたビットマップに対応するディメンション表を確認する唯一の時間は、第2フェーズまたは後戻り結合フェーズの実行中です。
次のアクションを実行して、Oracle Business Intelligence Suite Enterprise Editionを使用して作成されたレポートの生成に関する問題を識別します。
(オンライン) Oracle BI Administratorツールで、「管理」、「セキュリティ」、「ユーザー」、「oadm」の順に選択します。
「ロギング・レベル」の値が7
であることを確認します。
Oracle Airlines Data Modelリポジトリを開き、「管理」、「キャッシュ」の順に選択します。
キャッシュ・マネージャ・ウィンドウの右側のペインで、すべてのレコードを選択し、右クリックして「パージ」を選択します。
SQLログを使用して、追跡するレポートまたは問合せを実行します。
OracleBI\server\Log
にある問合せログ・ファイル(NQQuery.log
)を開きます。
最後の問合せSQLは、実行したレポートのログです。最後にアクセスしたレポートでエラーが戻される場合、このログの最後にエラーがあります。
次の例は、これらのエラー・メッセージの使用方法を示します。
例5-3 Oracle Airlines Data Modelレポートのトラブルシューティング
ログ・ファイルに次のエラーが含まれているとします。
Query Status: Query Failed: [nQSError: 15018] Incorrectly defined logical table source (for fact table Booking Segment Departure Fact) does not contain mapping for [Booking Segment Departure Fact.Confirmed Count, Booking Segment Departure Fact.Belly Cargo Revenue].
このエラーは、Oracle Business Intelligence Suite Enterprise Editionリポジトリのビジネス・レイヤーに問題がある場合に発生します。
この場合、Booking Segment Departure Fact.Confirmed Count
およびBooking Segment Departure Fact.Belly Cargo Revenue
のマッピングを確認する必要があります。
例5-4 レポートのトラブルシューティング: 表がありません
ログ・ファイルに次のエラーが含まれているとします。
Query Status: Query Failed: [encloser: 17001] Oracle Error code: 942, message: ORA-00942: table or view does not exist.
このエラーは、Oracle Business Intelligence Suite Enterprise Editionリポジトリの物理レイヤーに、実際にはデータベースに存在しない表がある場合に発生します。
問題のある表を確認するには、次の手順を実行します。
SQL問合せをデータベース環境にコピーします。
問合せを実行します。
存在しない表は、データベース・クライアントによってマークされます。
例5-5 レポートのトラブルシューティング: データベースが接続されていない場合
ログ・ファイルに次のエラーが含まれているとします。
エラー: Query Status: Query Failed: [nQSError: 17001] Oracle Error code: 12545, message: ORA-12545: connect failed because target host or object does not exist.
意味: このエラーは、データベースが接続されていない場合に発生します。
処置: 物理レイヤーとODBC接続の接続情報をチェックして、リポジトリが適切なデータベースに接続していることを確認します。
2つの一般的な問合せ技術は、「As Is」と「As Was」問合せです。
結果レポートは、発生時のデータを示します。
サロゲート・キー列(つまり、主キーおよび外部キー列)を使用して、スノーフレーク・ディメンション表も結合されます。
サロゲート・キー列を使用して、ファクト表がリーフ・レベルでディメンション表と結合します。
ディメンションの緩やかに変化するデータは対応するファクト・レコードと結合され、個別に表示されます。
異なるバージョンで同様の特性を共有する場合、コンポーネントを追加できます。
As Was問合せ(Point-in-Time分析とも呼ばれます)には、次の特性があります。
結果レポートは、特定の時点の固定されたディメンションおよびディメンション階層のデータを示します。
分析日に有効なレコードまたはバージョンを選択するPoint-in-Time日付フィルタを適用して、各スノーフレーク表を最初にフィルタします。この構造は、スノーフレークのPoint-in-Timeバージョンと呼ばれます。
フィルタされたスノーフレークは、自然キーを使用して、フィルタされていないバージョンと結合されます。すべてのスノーフレーク属性は、Point-in-Timeバージョン別名から取得します。結果構造は、コンポジット・スノーフレークと呼ばれます。
サロゲート・キーの個々のスノーフレークを結合して、コンポジット・ディメンションを形成します。
サロゲート・キー列を使用して、ファクト表がリーフ・レベルでコンポジット・ディメンション表と結合します。
Point-in-Timeバージョンは、時間の前後に関係なく同じビジネス・エンティティのすべての他の可能性のあるSCDバージョンに適用されます。この方法の結合により、ディメンションが特定のPoint-in-Timeレコードのみで構成される印象が与えられます。
様々なバージョンのすべてのファクト・コンポーネントは、ディメンション内のPoint-in-Time属性の適用によって正しく追加されます。
「例で使用されるデータ」に基づいて、次の例はAs IsおよびAs Was問合せの特性を示します。
例で使用されるデータ
使用するデータ・ウェアハウスにCustomer
表、County
およびTaxPaid
ファクト表があるとします。2011年1月1日の時点で、これらの表に次の値が含まれています。
Customer表
顧客ID | 顧客コード | 顧客名 | 性別 | 婚姻区分 | 郡ID | 郡コード | 郡名 | ... | 有効開始日 | 有効終了日 |
---|---|---|---|---|---|---|---|---|---|---|
101 | JoD | John Doe | 男性 | シングル | 5001 | SV | サニーベール | ... | 1-Jan-11 | 31-Dec-99 |
102 | JaD | Jane Doe | 女性 | シングル | 5001 | SV | サニーベール | ... | 1-Jan-11 | 31-Dec-99 |
103 | JiD | Jim Doe | 男性 | 既婚 | 5002 | CU | クパチーノ | ... | 1-Jan-11 | 31-Dec-99 |
County表
郡ID | 郡コード | 郡名 | 人口 | ... | 有効開始日 | 有効終了日 |
---|---|---|---|---|---|---|
5001 | SV | サニーベール | 非常に多い | ... | 1-Jan-11 | 31-Dec-99 |
5002 | CU | クパチーノ | 多い | ... | 1-Jan-11 | 31-Dec-99 |
TaxPaid表
顧客ID | 日 | 税タイプ | 税金 |
---|---|---|---|
101 | 1-Jan-11 | プロ税 | 100 |
102 | 1-Jan-11 | プロ税 | 100 |
103 | 1-Jan-11 | プロ税 | 100 |
次のイベントが2011年1月に発生したとします。
2011年1月20日に、Jane Doeが結婚します。
2011年1月29日に、John Doeがサニーベールからクパチーノに転居します。
したがって、次に示すように、2011年2月1日、County
表の値は同じですが、Customer
およびTaxPaid
表に新しいデータがあります。
Customer表
顧客ID | 顧客コード | 顧客名 | 性別 | 婚姻区分 | 郡ID | 郡コード | 郡名 | ... | 有効開始日 | 有効終了日 |
---|---|---|---|---|---|---|---|---|---|---|
101 | JoD | John Doe | 男性 | シングル | 5001 | SV | サニーベール | ... | 1-Jan-11 | 29-Jan-11 |
102 | JaD | Jane Doe | 女性 | シングル | 5001 | SV | サニーベール | ... | 1-Jan-11 | 20-Jan-11 |
103 | JiD | Jim Doe | 男性 | 既婚 | 5002 | CU | クパチーノ | ... | 1-Jan-11 | 31-Dec-99 |
104 | JaD | Jane Doe | 女性 | 既婚 | 5001 | SV | サニーベール | ... | 21-Jan-11 | 31-Dec-99 |
105 | JoD | John Doe | 男性 | シングル | 5002 | CD | クパチーノ | ... | 30-Jan-11 | 31-Dec-99 |
County表
郡ID | 郡コード | 郡名 | 人口 | ... | 有効開始日 | 有効終了日 |
---|---|---|---|---|---|---|
5001 | SV | サニーベール | 非常に多い | ... | 1-Jan-11 | 31-Dec-99 |
5002 | CU | クパチーノ | 多い | ... | 1-Jan-11 | 31-Dec-99 |
TaxPaid表
顧客ID | 日 | 税タイプ | 税金 |
---|---|---|---|
101 | 1-Jan-11 | プロ税 | 100 |
102 | 1-Jan-11 | プロ税 | 100 |
103 | 1-Jan-11 | プロ税 | 100 |
105 | 1-Feb-11 | プロ税 | 100 |
104 | 1-Feb-11 | プロ税 | 100 |
103 | 1-Feb-11 | プロ税 | 100 |
例5-6 婚姻区分で分割された収税のAs Is問合せ
「例で使用されるデータ」を前提とし、婚姻区分で分割された収税データを表示するため、次のSQL文でcust_id
サロゲート・キーのTaxPaid
ファクト表とCustomer
ディメンション表およびcnty_id
サロゲート・キーのCustomer
とCounty
スノーフレークを結合します。
SELECT cust.cust_nm, cust.m_status, SUM(fct.tx) FROM taxpaid fct, customer cust, county cnty WHERE fct.cust_id = cust.cust_id AND cust.cnty_id = cnt.cnt_id GROUP BY cust.cust_nm, cust.m_status ORDER BY 1,2,3;
この問合せの結果を次に示します。既婚の婚姻区分を示す行と独身の婚姻区分を示す行のJane Doeの2つの行があります。
顧客名 | 婚姻区分 | 税金 |
---|---|---|
Jane Doe | 既婚 | 100 |
Jane Doe | シングル | 100 |
Jim Doe | 既婚 | 200 |
John Doe | シングル | 200 |
例5-7 婚姻区分で分割された収税のAs Was問合せ
「例で使用されるデータ」を前提とし、2011年1月15日の分析日を使用して、婚姻区分で分割された収税データを表示する次のSQL文を発行します。
select cust.cust_nm, cust.m_status, sum(fct.tax) from TaxPaid fct, ( select cust_act.cust_id, cust_pit.cust_cd, cust_pit.cust_nm, cust_pit.m_status, cust_pit.gender, cust_pit.cnty_id, cust_pit.cnty_cd, cust_pit.cnty_nm from Customer cust_act inner join ( select cust_id, cust_cd, cust_nm, m_status, gender, cnty_id, cnty_cd, cnty_nm from Customer cust_all where to_date('15-JAN-2011', 'DD-MON-YYYY') between eff_from and eff_to ) cust_pit on (cust_act.cust_cd = cust_pit.cust_cd) ) cust, ( select cnty_act.cnty_id, cnty_pit.cnty_cd, cnty_pit.cnty_nm from County cnty_act inner join ( select cnty_id, cnty_cd, cnty_nm from County cnty_all where to_date('15-JAN-2011', 'DD-MON-YYYY') between eff_from and eff_to ) cnty_pit on (cnty_act.cnty_cd = cnty_pit.cnty_cd) ) cnty where fct.cust_id = cust.cust_id and cust.cnty_id = cnty.cnty_id GROUP BY cust.cust_nm, cust.m_status order by 1,2,3;
この問合せの結果を次に示します。Jane Doeは2011年1月15日(分析日)に独身のため、Jane Doeのすべての税は独身区分とみなされます。
顧客名 | 婚姻区分 | 税金 |
---|---|---|
Jane Doe | シングル | 200 |
Jim Doe | 既婚 | 200 |
John Doe | シングル | 200 |
かわりに、to_date
フレーズに15-JAN-2011
ではなく09-FEB-2011
を指定することを除いて完全に同じ問合せを発行するとします。Jane Doeは2011年2月9日に結婚しているため、次に示すようにJane Doeのすべての税は婚姻区分とみなされます。
顧客名 | 婚姻区分 | 税金 |
---|---|---|
Jane Doe | 既婚 | 200 |
Jim Doe | 既婚 | 200 |
John Doe | シングル | 200 |
例5-8 郡で分割された収税データのAs Is問合せ
「例で使用されるデータ」を前提とし、郡で分割された収税データを示す次のSQL文を発行します。
SELECT cust.cust_nm, cnty.cnty_nm, SUM(fct.tax) FROM TaxPaid fct, customer cust, county cnty WHERE fct.cust_id = cust.cust_id AND cust.cnty_id = cnty.cnty_ID GROUP BY cut.cust_nm, cnty.cnty_nm ORDER BY 1,2,3;
この問合せの結果を次に示します。John Doeは2つの異なる郡に居住しているため、John Doeに2つの行のデータがあります。
顧客名 | 郡名 | 税金 |
---|---|---|
Jane Doe | サニーベール | 200 |
Jim Doe | クパチーノ | 200 |
John Doe | クパチーノ | 100 |
John Doe | サニーベール | 100 |
select cust.cust_nm, cnty.cnty_nm, sum(fct.tax) from TaxPaid fct, ( select cust_act.cust_id, cust_pit.cust_cd, cust_pit.cust_nm, cust_pit.m_status, cust_pit.gender, cust_pit.cnty_id, cust_pit.cnty_cd, cust_pit.cnty_nm from Customer cust_act inner join ( select cust_id, cust_cd, cust_nm, m_status, gender, cnty_id, cnty_cd, cnty_nm from Customer cust_all where to_date('15-JAN-2011', 'DD-MON-YYYY') between eff_from and eff_to ) cust_pit on (cust_act.cust_cd = cust_pit.cust_cd ) cust, ( select cnty_act.cnty_id, cnty_pit.cnty_cd, cnty_pit.cnty_nm from County cnty_act inner join ( select cnty_id, cnty_cd, cnty_nm from County cnty_all where to_date('15-JAN-2011', 'DD-MON-YYYY') between eff_from and eff_to ) cnty_pit on (cnty_act.cnty_cd = cnty_pit.cnty_cd) ) cnty where fct.cust_id = cust.cust_id and cust.cnty_id = cnty.cnty_id GROUP BY cust.cust_nm, cnty.cnty_nm order by 1,2,3;
この問合せの結果を次に示します。John Doeは分析日の2011年1月15日にサニーベールに居住しているため、John Doeのすべての税はサニーベール郡とみなされます。
顧客名 | 郡名 | 税金 |
---|---|---|
Jane Doe | サニーベール | 200 |
Jim Doe | クパチーノ | 200 |
John Doe | サニーベール | 200 |
かわりに、to_date
フレーズに15-JAN-2011
ではなく09-FEB-2011
を指定することを除いて完全に同じ問合せを発行するとします。John Doeは2011年2月9日にクパチーノに居住していたため、次に示すようにJohn Doeのすべての税はクパチーノとみなされます。
顧客名 | 郡名 | 税金 |
---|---|---|
Jane Doe | サニーベール | 200 |
Jim Doe | クパチーノ | 200 |
John Doe | クパチーノ | 200 |
このチュートリアルは、Oracle Airlines Data Modelに付属しているサンプルのOracle Business Intelligence Suite Enterprise Editionレポートに含まれるOracle Airlines Data Model Webcat内のダッシュボードに基づいて新しいダッシュボードを作成する方法について説明しています。
参照: サンプル・レポートのインストール、ならびにBusiness Intelligence Suite Enterprise EditionインスタンスでのOracle Airlines Data Model RPDおよびWebcatのデプロイの詳細は、『Oracle Airlines Data Modelインストレーション・ガイド』を参照してください。 |
この例では、「代理店収益および予約分析」という名前のダッシュボードを作成し、代理店収益分析(USD)と代理店パフォーマンス分析PCT CANCELの両方を新規ダッシュボードに組み込むとします。
ダッシュボードを作成するには、次の手順を実行します。
ブラウザで、http://
servername
:9704/analytics
のログイン・ページを開きます。servername
は、webcatがインストールされるサーバーです。
oadm
のユーザー名でログインして、パスワードを指定します。
Oracle Business Intelligence Suite Enterprise Editionダッシュボードを作成するには、「新規」、「ダッシュボード」の順に選択します。
名前と説明を入力します。「ダッシュボード」フォルダにダッシュボードを保存します。「OK」をクリックします。
「カタログ」ビューで、収益分析フォルダを展開します。代理店収益分析(USD)レポートが表示されるので、これをカタログ・ビューから右パネルにドラッグします。
「カタログ」ビューで、収益分析フォルダを展開します。代理店パフォーマンス分析PCT CANCELレポートが表示されます。このレポートを「カタログ」ビューから右パネルにドラッグします。
このセクションのレイアウトを変更して、水平または垂直の2つのレポートを編成できます。
ページ名が"Page1"のままなので、変更する必要があります。
ページ名を変更するには、次の手順を実行します。
ダッシュボードを選択します。
「ダッシュボードのプロパティ」ウィンドウで、「名前の変更」をクリックします。
名前を「代理店収益および予約分析」に変更し、「OK」をクリックします。
ダッシュボードの上部の「保存」をクリックします。新しいダッシュボードが表示されます。
Oracle By Example: レポートの作成の詳細は、AnalysesおよびDashboards 11gの作成に関するOBEチュートリアルを参照してください。チュートリアルにアクセスするには、「Oracle Technology Network」の指示に従ってブラウザでOracle Learning Libraryを開き、名前でチュートリアルを検索します。 |
このチュートリアルは、Oracle Airlines Data Modelに付属しているサンプルのOracle Business Intelligence Suite Enterprise Editionレポートに含まれるOracle Airlines Data Model Webcat内のレポートに基づいて新しいレポートを作成する方法について説明しています。
参照: サンプル・レポートのインストール、ならびにBusiness Intelligence Suite Enterprise EditionインスタンスでのOracle Airlines Data Model RPDおよびWebcatのデプロイの詳細は、『Oracle Airlines Data Modelインストレーション・ガイド』を参照してください。 |
この例では、「Agent Booking and Flown Revenue」という名前のレポートを作成し、予約数と飛行収益の両方を1つのレポートに組み込むとします。
この新しいレポートを作成するには、次の手順を実行します。
ブラウザで、http://
servername
:9704/analytics
のログイン・ページを開きます。servername
は、webcatがインストールされるサーバーです。
oadm
のユーザー名でログインして、パスワードを指定します。
Oracle Business Intelligence Suite Enterprise Editionレポートを作成するには、「新規」、「分析」の順に選択します。
「サブジェクト領域」、「OADM_OLAP」の順に選択して、リレーショナル・レポートを作成します。
ディメンションおよびファクト列を「列の選択」パネルにドラッグして配置します。
「結果」タブを選択して、レポートを表示します。
「新規」を選択して、チャートをレポートに追加します。
「保存」を選択して、このレポートをネットワーク・ヘルス分析フォルダに保存します。
Oracle By Example: レポートの作成の詳細は、AnalysesおよびDashboards 11gの作成に関するOBEチュートリアルを参照してください。チュートリアルにアクセスするには、「Oracle Technology Network」の指示に従ってブラウザでOracle Learning Libraryを開き、名前でチュートリアルを検索します。 |