ヘッダーをスキップ
Oracle® Communications Data Model実装およびオペレーション・ガイド
リリース11.3.1
B70212-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

5 レポートおよび問合せのカスタマイズ

この章では、Oracle Communications Data Modelウェアハウスのデータのレポート、問合せおよびダッシュボードの作成について説明します。内容は次のとおりです。

Oracle Communications Data Modelのレポート・アプローチ

Oracle Communications Data Modelウェアハウスのデータからレポートを作成する2つの主なアプローチがあります。

リレーショナル・レポート

リレーショナル・レポートでは、スターのディメンションとして機能する参照エンティティ(つまり、DWR_およびDWL_表)とともにスターの中心にファクト・エンティティを使用して、分析レイヤー・エンティティのレポートを作成します。通常、ファクト・エンティティには、導出および集計エンティティ(つまり、DWD_およびDWA_表)が含まれます。ただし、詳細なレポートを生成するため、参照表とともにベース・エンティティ(つまり、DWB_表)を使用する必要がある場合があります。

通常、参照表(つまり、DWR_表)は、ビジネス階層を含むディメンションを表し、各レベルの階層の表を含むスノーフレーク・エンティティの形式で存在します。これにより、異なる精度で構成される複数のサブジェクト・エリアおよびファクト・エンティティの参照エンティティの適切なセットを関連付けることができます。

たとえば、DWR_DAYおよびDWR_BSNS_MODWR_BSNS_QTRDWR_BSNS_YR表を含む表のセットを使用して、DWD_VOI_CALL_DAYなどのDAYレベルのCDR Wirelessエンティティを問い合せることができます。一方で、DWA_VOI_CALL_MOなどのMONTHレベルのCDR Wirelessエンティティの問合せのため、DWR_BSNS_MODWR_BSNS_QTRDWR_BSNS_YRなどの月レベル以上の高度なレベルのスノーフレークを使用する必要があります。

検索表(つまり、DWL_接頭辞を使用する表)は、値のフラット・リストを含む単一のレベルで構成される単純なディメンションを表します。通常、ほとんどのレポート・ツールは、表面的な最上位レベルをディメンションに追加します。これらは、DWL_で始まる個々の表またはまたは様々なコード・タイプを個別のディメンションに分割するDWL_CODE_MASTERのビュー(DWL_という名前)の可能性があります。

OLAPレポート

OLAPレポートでは、ディメンションおよびキューブ(ファクト)ビューに対してSQLを使用して、Oracle OLAPキューブにアクセスします。キューブおよびディメンションは、スター・スキーマ設計を使用して表されます。ディメンション・ビューは、キューブ(またはファクト)ビューの周囲に集団を形成します。ディメンションおよびキューブ・ビューは、_VIEWで終わる名前を使用したリレーショナル・ビューです。通常、レポートで使用されるディメンション・ビューの名前はdimension_hierarchy_VIEWで、キューブ・ビューの名前はcube_VIEWです。

DWR_表に格納されている対応するリレーショナル・ディメンション・エンティティとは異なり、OLAPディメンション・ビューは、レベル列(level_nameとして識別されます)に基づいて論理的にパーティション化されるすべてのレベルの階層を含む全体のディメンションに関連する情報を含みます。同様に、キューブ・ビューは、キューブ定義の一部である個々のディメンションのレベルの様々な組合せに関連するファクトも含みます。また、キューブ・ビューおよびディメンション・ビューの結合は、必要なディメンション・レベル・フィルタとともにディメンション・キーに基づいています。

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 Communications Data Modelレポートの作成方法について説明します。Oracle Communications Data Modelレポートの例は、次を参照してください。

Oracle Communications Data Modelサンプル・レポートのカスタマイズ

サンプル・レポートとダッシュボードは、Oracle Communications Data Modelで提供されます。これらのサンプル・レポートは、OLAPやデータ・マイニング機能など、Oracle Communications Data Modelで提供される分析機能を示します。


参照:

サンプル・レポートのインストールおよびBusiness Intelligence Suite Enterprise EditionインスタンスのOracle Communications Data ModelのRPDおよびwebcatのデプロイの詳細は、『Oracle Communications 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 Communications Data Modelリファレンス』を参照してください。

問合せとレポートの作成

ocdm_sysスキーマは、Oracle Communications Data Modelのリレーショナル表およびビューを定義します。任意のSQLレポート・ツールを使用して、これらの表およびビューに対する問合せおよびレポートを行うことができます。

Oracle Communications Data Modelでは、ocdm_sysスキーマに定義されているOLAPキューブを使用したオンライン分析処理(OLAP)レポートもサポートされます。SQLツールを使用してキューブに対して定義されているビューを問い合せるか、OLAPツールを使用してOLAPコンポーネントを直接問い合せることで、OLAPキューブの問合せおよびOLAPキューブに関するレポートの作成を行うことができます。


関連項目:

「Oracle Communications Data Modelのレポート・アプローチ」「Oracle OLAPキューブ・ビュー」および『Oracle OLAPユーザーズ・ガイド』のディメンション・オブジェクトの問合せの説明。

例5-1 Oracle Communications Data Modelのリレーショナル問合せの作成

たとえば、2009年3月のサンフランシスコ地域の上位10位の顧客の合計通話時間(分)を知る必要があるとします。この質問に回答するには、次の表で説明する表を問い合せる必要があります。

エンティティ名 表名 説明
WIRELESS CALL EVENT DWB_WRLS_CALL_EVT ワイヤレス・コールの発生数。
CUSTOMER DWR_CUST 個々の顧客
ADDRESS LOCATION DWR_ADDR_LOC 住所全体。表には、国、州、都市、住所などのレベルがあります。
GEOGRAPHY CITY DWR_GEO_CITY GEOGRAPHY階層のCITYレベル。

この問合せを実行するには、次のSQL文を実行します。

SELECT cust_key, tot_call_min FROM 
(select         round(sum(call.call_drtn)/60,2) tot_call_min , call.cust_key
from    DWB_WRLS_CALL_EVT call,
DWR_CUST     cust,
DWR_ADDR_LOC addr,
DWR_GEO_CITY city
         Where to_date(to_char(call.evt_begin_dt,'MON-YY'),'MON-YY') like        to_date('MAR-09','MON-YY')
and cust.cust_key = call.cust_key
and cust.addr_loc_key = addr.addr_loc_key
and addr.geo_city_key = city.geo_city_key
and initcap(city.geo_city_name)='San Francisco'
group by call.cust_key
order by 1 desc) WHERE ROWNUM < 10;

この問合せの結果を次に示します。

  CUST_KEY TOT_CALL_MIN 
---------- ------------ 
      3390        101.6 
      4304       100.25 
      4269        97.37 
      4152        93.02 
      4230        92.97 
      4157        92.95 
      3345        91.62 
      4115        48.43 
      4111        44.48

スター・クエリーの最適化

アクセス・レイヤーの通常の問合せは、ファクト表と多数のディメンション表の結合で、一般的にスター・クエリーと呼ばれます。スター・クエリーで、各ディメンション表は、主キーと外部キーの結合を使用してファクト表に結合されます。通常、ディメンション表は相互に結合しません。

通常、このような問合せで、すべてのWHERE句の述語はディメンション表およびファクト表にあります。このタイプの問合せの最適化は非常に容易です。

この問合せを最適化するには、次の操作を実行します。

これにより、デフォルトで下位互換性がオフのスター・クエリーのオプティマイザ機能が有効になります。

使用している環境がこれらの2つの基準を満たすと、スター・クエリーは、スター型変換と呼ばれるSQLをリライトまたは変換する強力な最適化技術を使用します。スター型変換は、2つのフェーズで問合せを実行します。

  1. ファクト表(行セット)から必要な行を取得します。

  2. この行セットをディメンション表に結合します。

すべての外部キー列のビットマップ索引間のビットマップ結合を使用して、ファクト表の行を取得します。オプティマイザが該当する場合にSTAR_TRANSFORMATIONを自動的に選択するため、エンド・ユーザーはSTAR_TRANSFORMATIONの詳細を把握する必要がありません。

例5-2「スター型変換」に、STAR_TRANSFORMATIONを使用してスター・クエリーを最適化する段階的なプロセスを示します。

例5-2 スター型変換

図3-1「スター・スキーマ・ダイアグラム」のスター・スキーマに対して要求される可能性のあるビジネス上の質問として、「2008年5月中にボストンで販売された傘の総数は何ですか」という質問があります。

  1. 元の問合せです。

    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)が外部キー、主キー・リレーションシップを使用して各ディメンションに結合されます。

  2. 次の処置を行います。

    1. ビットマップ索引をファクト表の各外部キー列上に作成します。

    2. 初期化パラメータSTAR_TRANSFORMATION_ENABLEDTRUEに設定します。

  3. リライトされた問合せです。問合せをリライトおよび転送し、外部キー列のビットマップ索引を使用してファクト表から必要な行のみを取得します。

    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);
    

    この方法で問合せをリライトすると、ビットマップ索引の長所を利用できます。ビットマップ索引はデータベース内の集合ベース処理を提供するため、ANDORMINUSCOUNTなどの集合演算の様々なファクト方法を使用できます。そのため、time_idのビットマップ索引を使用して、2008年5月の売上に対応するファクト表の行のセットを識別します。ビットマップで、行のセットは、1および0の文字列として実際に表されます。同様のビットマップを傘の売上に対応するファクト表の行に対して取得し、別のビットマップでボストンの売上にアクセスします。この時点で3つのビットマップが存在し、個々のディメンション制約を満たすファクト表の一連の行をそれぞれ表します。3つのビットマップがビットマップAND操作を使用して結合され、この新しく作成された最終的なビットマップを使用して、問合せの評価に必要なファクト表から行を抽出します。

  4. リライトされた問合せを使用して、ファクト表からディメンション表に行を結合します。

    通常、ディメンション表に戻る結合はハッシュ結合を使用して実行されますが、Oracleオプティマイザはディメンション表のサイズに依存する最も効率的な結合方法を選択します。

次の図は、STAR_TRANSFORMATIONを開始する場合のスター・クエリーの通常の実行計画を示します。実行計画は、予想どおりに表示されない場合があります。Sales表から行を正常に取得した後、顧客表に戻る結合は存在しません。選択リストを詳細に参照すると、Customers表から実際に何も選択されていないことがわかるため、オプティマイザはディメンション表に戻る結合を把握する必要がありません。また、一部の問合せでSTAR_TRANSFORMATIONを開始してもファクト表のすべてのビットマップ索引を使用しない場合があることがわかります。オプティマイザは、ファクト表から必要な行を取得するために必要なビットマップ索引の数を決定します。追加のビットマップ索引が選択性を改善しない場合、オプティマイザはそのビットマップ索引を使用しません。実行計画の除外されたビットマップに対応するディメンション表を確認する唯一の時間は、第2フェーズまたは後戻り結合フェーズの実行中です。

optquery3.gifの説明が続きます
図optquery3.gifの説明

Oracle Communications Data Modelレポート・パフォーマンスのトラブルシューティング

次のアクションを実行して、Oracle Business Intelligence Suite Enterprise Editionを使用して作成されたレポートの生成に関する問題を識別します。

  1. (オンライン)Oracle BI Administratorツールで、「管理」「セキュリティ」「ユーザー」「ocdm」の順に選択します。

    「ロギング・レベル」の値が7であることを確認します。

  2. Oracle Communications Data Modelリポジトリを開き、「管理」「キャッシュ」の順に選択します。

  3. キャッシュ・マネージャ・ウィンドウの右側のペインで、すべてのレコードを選択し、右クリックして「パージ」を選択します。

  4. SQLログを使用して、追跡するレポートまたは問合せを実行します。

  5. OracleBI\server\Logにある問合せログ・ファイル(NQQuery.log)を開きます。

    最後の問合せSQLは、実行したレポートのログです。最後にアクセスしたレポートでエラーが戻される場合、このログの最後にエラーがあります。

次の例は、これらのエラー・メッセージの使用方法を示します。

例5-3 Oracle Communications Data Modelレポートのトラブルシューティング

ログ・ファイルに次のエラーが含まれているとします。

Query Status: Query Failed: [nQSError: 15018] Incorrectly defined logical table source (for fact table Customer Mining) does not contain mapping for [Customer.Cell Phone Number, Customer.Customer Segment Name, Customer.Party Name].

このエラーは、Oracle Business Intelligence Suite Enterprise Editionリポジトリのビジネス・レイヤーに問題がある場合に発生します。

この場合、Customer.Cell Phone NumberCustomer.Customer Segment NameおよびCustomer.Party Nameのマッピングを確認する必要があります。

例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リポジトリの物理レイヤーに、実際にはデータベースに存在しない表がある場合に発生します。

問題のある表を確認するには、次の手順を実行します。

  1. SQL問合せをデータベース環境にコピーします。

  2. 問合せを実行します。

存在しない表は、データベース・クライアントによってマークされます。

例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接続の接続情報をチェックして、リポジトリが適切なデータベースに接続していることを確認します。

As IsおよびAs Was問合せの書込み

2つの一般的な問合せ技術は、「As Is」と「As Was」問合せです。

As Is問合せの特性

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属性の適用によって正しく追加されます。

例: Oracle Communications Data ModelのAs IsおよびAs Was問合せ

「例で使用されるデータ」に基づいて、次の例は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サロゲート・キーのCustomerCountyスノーフレークを結合します。

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

例5-9 郡で分割された収税データのAs Was問合せ

「例で使用されるデータ」を前提とし、2011年1月15日の分析日を使用して、郡で分割された収税データを表示する次のSQL文を発行します。

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 Communications Data Modelダッシュボードの作成

このチュートリアルは、Oracle Communications Data Modelで提供されるOracle Business Intelligence Suite Enterprise Editionサンプル・レポートに含まれるOracle Communications Data Model webcatに基づいて新しいダッシュボードを作成する方法について説明します。


参照:

サンプル・レポートのインストールおよびBusiness Intelligence Suite Enterprise EditionインスタンスのOracle Communications Data ModelのRPDおよびwebcatのデプロイの詳細は、『Oracle Communications Data Modelインストレーション・ガイド』を参照してください。

この例では、「中断された呼および失敗した呼」のダッシュボードを作成し、「中断された呼の比率レポート」および「失敗した呼の比率レポート」をこの新しいダッシュボードに配置することを前提とします。

ダッシュボードを作成するには、次の手順を実行します。

  1. ブラウザで、http://servername:9704/analyticsのログイン・ページを開きます。servernameは、webcatがインストールされるサーバーです。

  2. ocdmのユーザー名でログインして、パスワードを指定します。

    次に、「newDashboard」をクリックして、Oracle Business Intelligence Suite Enterprise Editionダッシュボードを作成します。

    dbd1.gifの説明が続きます
    図dbd1.gifの説明

  3. 名前と説明を入力して、「ネットワーク・ヘルス」フォルダに保存します。「OK」をクリックします。

    dbd2.gifの説明が続きます
    図dbd2.gifの説明

  4. 「カタログ」ビューで、ネットワーク・ヘルス分析フォルダを展開します。失敗した呼の比率レポートおよび中断した呼の比率レポートを確認できます。

    dbd3.gifの説明が続きます
    図dbd3.gifの説明

  5. 「カタログ」ビューから右側のパネルに失敗した呼の比率レポートおよび中断した呼の比率レポートをドラッグします。

    dbd4.gifの説明が続きます
    図dbd4.gifの説明

  6. このセクションのレイアウトを変更して、水平または垂直の2つのレポートを編成できます。

    dbd5.gifの説明が続きます
    図dbd5.gifの説明

    ページ名が"Page1"のままなので、変更する必要があります。

  7. ページ名を変更するには、次の手順を実行します。

    1. ダッシュボードを選択します。

      dbd6.gifの説明が続きます
      図dbd6.gifの説明

    2. 「ダッシュボードのプロパティ」ウィンドウで、「名前の変更」をクリックします。

      dbd7.gifの説明が続きます
      図dbd7.gifの説明f

    3. 名前を"Dropped Call Rate and Failed Call Rate"に変更して、「OK」をクリックします。

      dbd8.gifの説明が続きます
      図dbd8.gifの説明

  8. ダッシュボードの上部の「保存」をクリックします。新しいダッシュボードが表示されます。

    dbd9.gifの説明が続きます
    図dbd9.gifの説明


Oracle By Example:

ダッシュボードの作成の詳細は、AnalysesおよびDashboards 11gの作成に関するOBEチュートリアルを参照してください。

チュートリアルにアクセスするには、「Oracle Technology Network」の指示に従ってブラウザでOracle Learning Libraryを開き、名前でチュートリアルを検索します。


チュートリアル: 新しいOracle Communications Data Modelレポートの作成

このチュートリアルは、Oracle Communications Data Modelで提供されるOracle Business Intelligence Suite Enterprise Editionサンプル・レポートに含まれるOracle Communications Data Model webcatに基づいて新しいレポートを作成する方法について説明します。


参照:

サンプル・レポートのインストールおよびBusiness Intelligence Suite Enterprise EditionインスタンスのOracle Communications Data ModelのRPDおよびwebcatのデプロイの詳細は、『Oracle Communications Data Modelインストレーション・ガイド』を参照してください。

この例では、「中断された呼と失敗した呼」のレポートを作成して、1つのレポートに中断された呼の比率と失敗した呼の比率を配置することを前提とします。

この新しいレポートを作成するには、次の手順を実行します。

  1. ブラウザで、http://servername:9704/analyticsのログイン・ページを開きます。servernameは、webcatがインストールされるサーバーです。

  2. ocdmのユーザー名でログインして、パスワードを指定します。

    次に、「newAnalysis」をクリックして、Oracle Business Intelligence Suite Enterprise Editionレポートを作成します。

    rpt1.gifの説明が続きます
    図rpt1.gifの説明

  3. 「サブジェクト・エリア」「ODWT」の順に選択して、リレーショナル・レポートを作成します。rpt2.gifの説明が続きます
    図rpt2.gifの説明

  4. ディメンションおよびファクト列を「列の選択」パネルにドラッグして配置します。rpt3.gifの説明が続きます
    図rpt3.gifの説明

  5. 「結果」タブを選択してレポートを表示します。rpt4.gifの説明が続きます
    図rpt4.gifの説明

  6. 「新規ビュー」をクリックして、チャートをレポートに追加します。rpt5.gifの説明が続きます
    図rpt5.gifの説明

  7. 「保存」をクリックして、このレポートをネットワーク・ヘルス分析フォルダに保存します。

    rpt6.gifの説明が続きます
    図rpt6.gifの説明


Oracle By Example:

レポートの作成の詳細は、AnalysesおよびDashboards 11gの作成に関するOBEチュートリアルを参照してください。

チュートリアルにアクセスするには、「Oracle Technology Network」の指示に従ってブラウザでOracle Learning Libraryを開き、名前でチュートリアルを検索します。