Oracle Business Intelligence Discoverer 管理ガイド 10gリリース2(10.1.2.1) B25101-01 |
|
この章では、Discoverer Administratorによる階層の実装とメンテナンスの方法について説明します。項目は次のとおりです。
階層とは、Discoverer Administratorで定義するアイテム間のデフォルトのドリル・パスです。ビジネスエリア内のアイテム間の階層を作成して、Discovererエンド・ユーザーにデフォルトのドリル階層を提供します。
次の2種類の階層があります。
Discovererエンド・ユーザーは、階層を使用して次のことができます。
階層により、データベースで関係が定義されていないビジネスエリア内のアイテムをリンクできます。ビジネスエリアの詳細は、第5章「ビジネスエリアの作成とメンテナンス」を参照してください。
アイテム階層とは、日付以外のアイテム間の関係です。
アイテム階層の例は次のとおりです。
販売アイテム階層では、国がその地域、都市および店舗とリンクされます。
この階層を使用すると、Discovererエンド・ユーザーは国のレベルでの販売を示すレポートを使用できます。さらに、国からドリルダウンして、地域ごと、都市ごとまたは店舗ごとの販売を参照し、再び国レベルにドリルアップできます。
Discovererエンド・ユーザーから見た販売アイテム階層は、次のとおりです。
次の図は、データベースから見た販売アイテム階層です。
ロサンゼルスが'West'(西部)にあることを指定する必要はありません。指定する必要があるのは、都市がアイテム階層の'Region'(地域)の下にあることだけです。
日付階層とは、日付アイテム間の関係です。
日付階層の例は次のとおりです。
販売日付階層により、年が四半期、月、週および日とリンクされます。
この階層を使用すると、Discovererエンド・ユーザーは毎年の売上合計を示すレポートを使用できます。さらに、年からドリルダウンして、四半期ごと、月ごと、週ごとまたは日ごとの販売を参照し、再び年ごとの販売にドリルアップできます。
Discovererエンド・ユーザーから見た販売日付アイテム階層のセクションは、次のとおりです。
次の図は、データベースから見た販売日付階層です。
注意: 日付階層の各レベルは、「Sales_Orders.SALES_DATE」列に基づくユーザー定義アイテムです。ユーザー定義アイテムは、日付階層テンプレートにより作成されます(詳細は、「日付階層テンプレート」を参照)。
日付階層テンプレートを使用すれば、日付アイテムに適用する日付階層を定義できます。日付アイテムでは、日付、月、年および時刻を指定する情報が使用されます。Discovererでは、この情報を使用して四半期、週および曜日などが計算されます。日付階層テンプレートにより、年または月などを表すアイテムが日付アイテムに基づいて自動的に作成されます。
各日付アイテムについて同じ日付階層を繰り返し再定義するよりも、日付階層テンプレートを日付アイテムに適用することによって、日付階層テンプレートを効率的に再使用できます。
日付階層テンプレート(Discoverer Administratorで提供されています)を使用して多くの共通日付階層を定義することも、カスタマイズされた日付階層を作成することもできます。
Discoverer Administratorで提供されているデフォルトの日付階層テンプレート(次の日付階層テンプレートの図を参照)を使用すれば、年から四半期、四半期から月、月から日にドリルダウンできます。
索引付きテーブルからの日付アイテムに日付階層を適用した場合、これらの日付アイテムを含むクエリーでは索引が使用されません(このため、パフォーマンスが低下することがあります)。索引に依存しないテーブルからの日付アイテムに日付階層を適用すれば、Discoverer Plusのパフォーマンスを最適化できます。
日付列(transaction_dateなど)を含む大きなファクト・テーブル(行が多いテーブル)をロードするとき、Discovererによりデフォルトの日付階層が日付アイテムに適用されます(詳細は、「「ロード・ウィザード: ステップ4」ダイアログ」を参照)。
Discovererでは、EUL_DATE_TRUNC関数を使用して年、四半期および月などの日付アイテムを含むフォルダが作成されます(詳細は、「日付アイテムの切捨てとEUL_DATE_TRUNC関数」を参照)。Discovererエンド・ユーザーがこれらのアイテムを含むクエリーを実行するとき、ファクト・テーブルに日付アイテムを含む索引は使用されません。索引が使用されない場合、パフォーマンスが影響を受けることがあります。
ファクト・テーブルは索引を持つことがあるため、ファクト・テーブルに基づいているフォルダ内の日付アイテムに日付階層を適用しないことをお薦めします。
パフォーマンスを維持するために、日付階層を個別のディメンション・テーブルに適用してください。
たとえば、ファクト・テーブル内の「transaction_date」アイテムを、時間間隔を指定する別のディメンション・テーブル(「Time Period」など)に結合することがあります。ロード・ウィザードを使用してこのディメンション・テーブルをロードし、日付階層をこのテーブルに適用できます。次に、ディメンション・テーブルとファクト・テーブルの両方からのアイテム(年または四半期などの、日付階層別に作成されたアイテムなど)を含む複合フォルダを作成できます。Discovererエンド・ユーザーが日付階層アイテムを含めるクエリーを使用するとき、Discovererではファクト・テーブルの日付列索引を使用できます。これにより、パフォーマンスを大幅に向上できます。
アイテム階層を作成する手順は、次のとおりです。
ここで、このアイテム階層で使用するアイテムを選択します。
同時に複数のアイテムを選択するには、[Ctrl]キーを押しながら別のアイテムをクリックします。
注意: 階層リスト内のアイテムの順序により、Discovererエンド・ユーザーがデータ分析に使用するドリルダウン順序が決まります。アイテム階層は、アイテムを含める際の順序で配列されます。たとえば、地域 − 都市 − 店舗の順序で配列されます。
注意: 複数のフォルダからアイテムを選択できますが、それらのフォルダは結合されている必要があります。フォルダが複数の結合により結合されている場合、「結合の選択」ダイアログで正しい結合を選択するプロンプトが表示されます。
同時に複数のアイテムを選択するには、[Ctrl]キーを押しながら別のアイテムをクリックします。
注意: 階層内のアイテムのグループ化を解除するには、そのグループを選択し、「グループ解除」をクリックします。
指定した説明は、Discoverer Plusでラベルとして表示されます。名前を指定しないと、デフォルトでアイテム名がアイテム階層の各レベルで使用されます。
「ワークエリア」の「階層」タブにアイテム階層が表示されます。
日付階層を作成する手順は、次のとおりです。
同時に複数の日付フォーマットを選択するには、[Ctrl]キーを押しながら別の日付フォーマットをクリックします。
指定した説明は、Discoverer Plusでラベルとして表示されます。
ここで、この日付階層で使用する日付アイテムを選択します。
同時に複数のアイテムを選択するには、[Ctrl]キーを押しながら別のアイテムをクリックします。
ヒント: 日付階層テンプレートのみを作成する場合は、このページで日付アイテムを選択しないでください。後で、日付アイテム・プロパティを変更すれば、このテンプレートを日付アイテムに適用できます(詳細は、「日付階層テンプレートを日付アイテムに適用する方法」を参照)。
「デフォルトの日付階層に設定」チェックボックスを選択すると、この日付階層テンプレートが「ロード・ウィザード: ステップ4」ダイアログのデフォルトとして「日付階層」チェックボックスの下のドロップダウン・リストに表示されます。
日付階層と日付階層テンプレートがワークエリア: 「階層」タブに表示されます。
既存のアイテム階層を編集する手順は、次のとおりです。
「階層の編集」ダイアログには、次の2つのタブがあります。
これらのタブの詳細は、「階層の編集」ダイアログ: 「名前」タブまたは「階層の編集」ダイアログ: 「アイテム」タブ(この日付階層を使用する日付アイテムの選択)を参照してください。
この項では、既存の日付階層テンプレートを編集する方法について説明します。日付階層テンプレートを編集すると、その日付階層テンプレートを使用するすべての日付アイテムが、この変更を反映するように変更されます。
「階層の編集」ダイアログには、次の2つのタブがあります。
このタブは、日付フォーマットとこの日付階層テンプレートでの日付フォーマットの位置を変更するために使用します。
このタブは、日付階層テンプレートの名前と説明の編集に使用します。
これらのタブの詳細は、「階層の編集」ダイアログ: 「名前」タブまたは「階層の編集」ダイアログ: 「アイテム」タブ(この日付階層を使用する日付アイテムの選択)を参照してください。
この項では、日付階層テンプレートを既存の日付アイテムに適用する方法について説明します。
日付階層テンプレートを既存の日付アイテムに適用するとき、日付階層の完成に必要な日付アイテムがすべて自動的に作成されます。これらの新規日付アイテムは、元の日付アイテムと同じフォルダに入ります(元の日付アイテムの名前が前に付けられます)。日付アイテムに適用される日付階層テンプレートを変更すると、この新規日付階層テンプレートを反映するように新しい日付アイテムが作成されます。ただし、Discovererでは以前の日付階層から日付アイテムが削除されません。以前の日付階層から日付アイテムを削除するには、手動で削除する必要があります。
たとえば、日付階層「YY/QQ/MM」を作成して、日付アイテム「Transaction Date」に割り当てると、次のアイテムがフォルダに作成されます。
次に新規日付階層「WW/DD」を作成して、「Transaction Date」に割り当てると、次の追加アイテムがフォルダに作成されます。
Discovererでは、以前に作成されたその他の3つの日付アイテムは削除されません。
日付階層テンプレートを日付アイテムに適用する手順は、次のとおりです。
ヒント: 単一の日付階層テンプレートを同時に複数の日付アイテムに適用する場合は、「プロパティ」ダイアログを開く前にこれらの日付アイテムをすべて選択します。詳細は、「アイテム・プロパティの編集方法」を参照してください。
「なし」を選択して、この日付アイテムで日付階層テンプレートを使用しないようにします。
デフォルトの日付階層テンプレートは、「ロード・ウィザード: ステップ4」ダイアログのデフォルト選択として「日付階層」ドロップダウン・リストに表示されます。詳細は、「「ロード・ウィザード: ステップ4」ダイアログ」を参照してください。
デフォルトの日付階層テンプレートを設定する手順は、次のとおりです。
アイテム階層または日付階層テンプレートを削除する手順は、次のとおりです。
同時に複数の階層を選択するには、[Ctrl]キーを押しながら別の階層をクリックします。
Oracle Business Intelligence Discoverer Administratorへのアップグレード後、デフォルト日付階層の日付フォーマットで「RR」が使用されている場合は、日付フォーマットを「YYYY」に変更し、影響を受ける日付アイテム(つまり、日付フォーマット「RR」を使用する日付アイテム)をビジネスエリアから削除する必要があります。この操作は、マテリアライズド・ビューの作成を確実に実行するために必要です(マテリアライズド・ビューの詳細は「マテリアライズド・ビュー」を参照)。
日付フォーマット「RR」を使用するデフォルト日付階層を、「YYYY」を使用するように変更するには、次の作業を完了する必要があります。
日付フォーマット「YYYY」を使用するようにデフォルト日付階層を変更する手順は、次のとおりです。
注意: 影響を受けるそれぞれのデフォルト日付階層について、前述の手順を繰り返します。
影響を受けるデフォルト日付階層に日付フォーマット「YYYY」を適用した後は、日付フォーマット「RR」を使用する残っている日付アイテムを削除できます。
日付フォーマット「RR」を使用する日付アイテムを削除する手順は、次のとおりです。
データベース・テーブルに再帰的階層が含まれる場合があります。再帰的階層とは、1つのテーブルの中の異なるレコード間に関係が存在する階層です。この形式の階層は、一連の内部結合とは異なり、Discovererで直接使用することはできません(値階層と呼ばれる場合もあります)。ただし、カスタム・フォルダを作成してCONNECT BY句を使用すると、Discovererで再帰的階層を使用できます。
たとえば、「Scott」スキーマ内の「emp」テーブル(Oracleデータベースに付属)を見ると、一部の数字は「empno」列と「mgr」列の両方に表示されます。数字が両方の列に表示されるのは、従業員のマネージャが従業員番号で識別されているからです。このことは、再帰的階層が「emp」テーブル内に存在する様子を表しています。
次の表は、「emp」テーブル内の列「empno」、「ename」および「mgr」列の行の間に存在する関係を表しています。
Discovererでこのテーブルを直接使用して、階層を作成することはできません。しかし、最初にSELECT文のCONNECT BY句を使用してカスタム・フォルダを作成すると、このテーブルから階層を作成できます。次にこのカスタム・フォルダを、Discovererが使用できる階層の基礎として使用できます。
前述のテーブルの情報を使用する階層をDiscovererに作成するには、Discovererで階層を作成するために使用する次のようなテーブルが必要です。
TOP_LEVEL | 2nd_LEVEL | Nth_LEVEL | EMPNO | ENAME |
---|---|---|---|---|
KING |
CLARK |
|
7934 |
MILLER |
このテーブルには従業員の名前(ename)およびその従業員のマネージャ全員が表示されています。このテーブルでは、Millerに2つのレベルのマネージャがいます。直属の上司はClarkです。
このようなテーブルを作成し(「emp」テーブルの列に基づいて)、続いてレベル間に階層を作成するには、次の作業を完了します。
テーブル(「scott」スキーマの「emp」テーブルなど)の各値に基づいて階層を作成できます。Discoverer Plusユーザーは、ワークブックを作成し、この階層を使用して従業員の異なるレベル間でドリルアップおよびドリルダウンできるようになります。
「Scott」スキーマの「emp」テーブルを使用して、カスタム・フォルダとCONNECT BY句で階層を作成する手順は、次のとおりです。
SELECT DISTINCT empno, mgr, level FROM scott.emp CONNECT BY mgr = PRIOR empno START WITH mgr IS NULL
このSQL文により、次の結果セットが含まれるテーブルが作成されます。
EMPNO | MGR | LEVEL |
---|---|---|
7369 |
7902 |
4 |
7499 |
7698 |
3 |
7521 |
7698 |
3 |
7566 |
7839 |
2 |
7654 |
7698 |
3 |
7698 |
7839 |
2 |
7782 |
7839 |
2 |
7788 |
7566 |
3 |
7839 |
|
1 |
7844 |
7698 |
3 |
7876 |
7788 |
4 |
7900 |
7698 |
3 |
7902 |
7566 |
3 |
前述の手順で作成したカスタム・フォルダに含まれるSQL文について、次の点に注意してください。
これはCONNECT BY関数によって生成された擬似列で、Discoverer内で階層を定義するために使用します。
この単語により、「mgr」列が前の行の「empno」列の値と等しくなる次の行が、SQLによって検索されます。
「mgr」がNULLである場所(最高経営者)からSQLを開始するように命令します。
CONNECT BY文の詳細は、『Oracle Database SQLリファレンス』を参照してください。
これで、エンド・ユーザーはこのカスタム・フォルダにアクセスできなくなります。
注意: 階層を作成するために必要な情報は「Level」列で得られますが、最初に行を「Level」ごとに分ける必要があります。これは、各レベルに複合フォルダを作成して行います。
この例では、4つの複合フォルダを作成します。
ヒント: 各複合フォルダを作成するには、3つのアイテムすべて(「Empno」、「Mgr」および「Level」)をカスタム・フォルダ「Recursive Hierarchy」からそれぞれの新規複合フォルダに順番にドラッグします。
ヒント: たとえば、レベル3のデータを含む複合フォルダに適用する条件は、次のようになります。
Level = 3
ヒント: このためには、「empno」アイテムと「mgr」アイテムを使用します。複合フォルダ「Level1」と複合フォルダ「Level2」の間の結合を、次のように作成します。
Level1.empno = Level2.mgr
この方法で、「Level2」フォルダを「Level3」フォルダに、「Level3」フォルダを「Level4」フォルダに結合します。これらの結合は、作成する階層を反映します。
注意: これが、エンド・ユーザーに表示される複合フォルダです。
ヒント: 「Level1」、「Level2」、「Level3」および「Level4」の各フォルダからドラッグしたそれぞれの「Empno」アイテムに対し、名前を適切に変更する必要があります(「Empno1」、「Empno2」、「Empno3」および「Empno4」など)。
これにより、Discovererが階層を作成するのに使用する次のような結果セットが完成します。
Empno1 | Empno2 | Empno3 | Empno4 |
---|---|---|---|
7839 |
7698 |
7499 |
|
7839 |
7698 |
7521 |
|
7839 |
7698 |
7654 |
|
7839 |
7698 |
7788 |
|
7839 |
7698 |
7844 |
|
7839 |
7782 |
7900 |
|
7839 |
7566 |
7902 |
7369 |
Discoverer Plusユーザーは、ワークブックを作成し、この階層を使用して従業員の異なるレベル間でドリルアップおよびドリルダウンできるようになります。
|
Copyright © 1996, 2005 Oracle. All Rights Reserved. |
|