Lesson 2:アナリティック・ワークスペースのOracle Business Intelligence Enterprise Edition 10gメタデータの作成

このチュートリアルでは、アナリティック・ワークスペース・データおよびOLAPエンジンにアクセ スするためのメタデータを作成する方法について説明します。Oracle BI Administration Toolを使用して、必要なメタデータを作成します。

約1時間

トピック

このチュートリアルでは、以下のトピックについて説明します。

Physicalレイヤーの定義

標準のビジネス・モデル・メタデータの定義

ETV集計に活用する追加のメタデータの定義
論理表の複雑な結合の指定

Presentationレイヤーの定義

このアイコンの上にカーソルを置くと、すべてのスクリー ンショットがロードし、表示されます。(警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・ タイムが遅くなる場合があります。)

注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあ るアイコンの上にカーソルを置いてください。スクリーンショットをクリックすると、非表示になります。

概要

最上位レベルのOracle Business Intelligence Enterprise Edition 10g用のメタデータの作成には、3段階の手順があります。

1.

はじめに、ソース・データを識別するPhysicalレイヤーを定 義します。

2. 次に、Business Model and Mappingレ イヤーを定義します。このレイヤーは、Physicalレイヤーを論理カテゴリに分類し、ソース・データへのアクセスに使用される適切なメタデータを記録 します。
3. 最後に、エンド・ユーザー・アクセス用のビジネス・モデル・エンティティを公開するPresentationレ イヤーを定義します。

このレッスンでは、Globalアナリティック・ワークスペース(AW)へのアクセスに使用される 3つのレイヤーのメタデータを定義します。

このレッスンの完全なリポジトリは、関連情報からダウンロード できます。

ト ピック・リストに戻る

このチュートリアルを始める前に、次のことを確認してください。

レッスン1: Oracle Business Intelligence Enterprise Edition 10gでアクセスするアナリティック・ワークスペースの準備』 チュートリアルをすべて終了していること。

トピック・リストに戻る

Physical レイヤーの定義

はじめに、アナリティック・ワークスペース(AW)のOracle Business Intelligence Enterprise Edition 10gメタデータを定義するには、組込み全体 ビュー(ETV)をPhysicalレイヤーにインポートします。ここでは、AWにアクセスするデータソースとしてETVを使用します。

このトピックでは、(オプションで)ODBCデータソースを作成し、ETVをPhysicalレイ ヤーにインポートして、インポートしたデータへのアクセスをテストします。

AWにアクセスするためにPhysicalレイヤーを定義するには、最初にODBCデータソースを 定義する必要があります。最初のサブトピックでは、Oracle 10gデータベースのODBCデータソースを作成する方法を示しま す。適切なODBCデータソースをすでに作成している場合は、2番目のサブトピックに移動してください。

インポートのテスト

トピック・リストに戻る

ODBCデータ ソースの作成

メタデータの作成目的でOracleデータソースに接続する場合、Oracle Business Intelligence Enterprise Edition 10g Administration Toolは、ODBC接続を使用します。Oracle Database 10gのODBCデータソースをまだ作成していない場合は、 以下の手順を実行します。

注:この例では、Microsoft Windows XPのODBCデータソースを使用します。

1.

スタート」ボタンをクリックし、「設定」→「コ ントロール・パネル」を選択します。

2.

管理ツール」アイコンをダブルクリックし、次に「データソース (ODBC)」アイコンをダブルクリックします。


3.

ODBCデータソース・アドミニストレータ画面で、「システムDSN」タブをクリック します。ウィンドウは、次のように表示されます。

追加」ボタンをクリックします。

4.

データソースの新規作成ウィザードで、Oracle Database 10gの適切なドライバを選択 して、「完了」をクリックします。

5.

Oracle ODBC Driver Configurationウィンドウで、名前と説明を入力し、TNSサービス名を指定します。User IDにはglobalと 入力します。

次に、「Test Connection」ボタンをクリックします。

結果:Oracle ODBC Driver Connectウィンドウが表示されます。

6.

Oracle ODBC Driver Connectウィンドウで、パスワードにglobalと 入力し、「OK」をクリックします。

結果:テストに成功すると、次のウィンドウが表示されます。テストに失敗した場合は、正しいパスワードを再入力してくださ い。

7.

OK」をクリックして、Oracle ODBC Driver Connectウィンドウを閉じます。ODBCデータソース・アドミニストレータ画面のシステムDSNタブに、次のようなOracleデータソースが表示 されます。

8. OK」をクリックして、ODBCデータソース・アドミニストレータ画面を閉じま す。

トピックに戻る

組込み全体 ビューのインポート

組込み全体ビュー(ETV)をインポートするには、以下の手順を実行してください。

1.

Oracle BI Administration Toolを開きます。

ヒント:「スタート」メニューをクリックし、「すべてのプログラム」 →「Oracle Business Intelligence」→「Administration」 を選択します。

2.

Administration Toolで、「File」→「New」 を選択します。New Repositoryウィンドウで、ファイル名にglobal.rpdと入力し、「Save」 をクリックします。

結果:global.rpdという新しいリポジトリが表示されます。

3.

File」→「Import」→「from Database」を選択します。

4.

Select Data Sourceウィンドウで、Oracle DSN接続をクリックします。User Nameフィールドには、自動的に"global"が設定されます。

パスワードにglobalと入力し、「OK」をク リックします。

5.

Importウィンドウで、TablesとViewsの両方のオプションが選択されていることを確認します。次に、 GLOBALノードを次のようにドリルします。

6.

GLOBALの表とビューのリストを下方向にスクロールし、「UNITS_CUBE_CUBEVIEW」 を選択します。

Import」をクリックします。

結果:Connection Poolウィンドウが表示されます。

7.

Connection Poolウィンドウで、Default(OCI 10g)のCall interfaceが選択され、Data source nameフィールドがOracle Database接続のTNSサービス名に設定されていることを確認します。

この例のTNSサービス名はorclです。

ヒント:サービス名は、ODBCデータソース接続を作成する際に指定した値と同じです。

その他はデフォルトのままにして、「OK」をクリックします。インポートが終了した 後、Importウィンドウを閉じます。

トピックに戻る

インポートの テスト

インポートが終了した後、新しいノードがPhysicalレイヤー・ペインに表示されます。ソー ス・データへのアクセスをテストするには、以下の手順を実行してください。

1.

Physicalレイヤー・ペインで、「Oracle」ノードをドリルし、次に「GLOBAL」 ノードをドリルします。

結果:OLAP組込み全体ビューは、ノードとして表示されます。「UNITS_CUBE_CUBEVIEW」 ノードをドリルして、ビューの列を表示します。

2.

CUSTOMER_LEVEL」列を右クリックして、メニューから「View Data」を選択します。次のウィンドウが表示されます。

データが列に返され、正常なインポート処理が実行されたことを確認します。

Close」をクリックします。

トピックに戻る

標準のビジネス・モデル・メタデータの定義

OLAPデータソースのビジネス・モデル・メタデータを作成するには、2つの段階があ ります。はじめに、リレーショナル・ソース用の通常の方法でビジネス・モデルを定義します。次に、OLAP組込み全体ビューを活用する追加のメタデータを 定義します。

このトピックでは、標準のビジネス・モデル・メタデータを定義します。次の手順が含まれます。

ディメンション・レベル のドリルの有効化

トピック・リストに戻る

スターの論理表の作成

以下の手順を実行して、ビジネス・モデルの論理表を作成します。

1.

はじめに、ビジネス・モデル・オブジェクトを作成します。Business Model and Mappingペインを選択して、余白を右クリックします。メニューから「New Business Model」を 選択します。

Business Model - Globalウィンドウで、名前にGlobalと 入力し、「OK」をクリックします。

2.

以下の手順を実行して、メジャーの論理表を作成します。

A. Globalビジネ ス・モデルを右クリックして、メニューから「New Object」→「Logical Table」 を選択します。
B. Logical TableウィンドウのGeneralタブで、名前にFactsと入力します。
C. OK」 をクリックします。

Factsという論理表が表示されます。

3.

Channelディメンションの論理表を作成します。

A. Globalビジネ ス・モデルを右クリックして、メニューから「New Object」→「Logical Table」 を選択します。
B. Logical TableウィンドウのGeneralタブで、名前にChannelと入力します。
C. OK」 をクリックします。

4.

Customerディメンションの論理表を作成します。

A. Globalビジネ ス・モデルを右クリックして、メニューから「New Object」→「Logical Table」 を選択します。
B. Logical TableウィンドウのGeneralタブで、名前にCustomerと入力します。
C. OK」 をクリックします。

5.

Productディメンションの論理表を作成します。

A. Globalビジネ ス・モデルを右クリックして、メニューから「New Object」→「Logical Table」 を選択します。
B. Logical TableウィンドウのGeneralタブで、名前にProductと入力します。
C. OK」 をクリックします。

6.

Timeディメンションの論理表を作成します。

A. Globalビジネ ス・モデルを右クリックして、メニューから「New Object」→「Logical Table」 を選択します。
B. Logical TableウィンドウのGeneralタブで、名前にTimeと入力します。
C. OK」 をクリックします。

次の論理表がビジネス・モデルに含まれます。

トピックに戻る

ビジネス・モデル・オブジェクトへ のPhysicalレイヤー列のマップ

このトピックでは、PhysicalレイヤーからBusiness Modelレイヤーに列をマップします。組込み全体ビュー(ETV)のメジャーは、Facts論理表にマップされます。また、ETVのディメンションを示 す特定の列は、論理ディメンション表にマップされます。

各論理ディメンション表で、各階層レベルの適切なETV説明列とそのディメンションの "_LEVEL"列をマップします(LEVEL列は、行の集計レベルを示します)。

1.

はじめに、各論理表の横の閉じる記号(-)をクリックすると、次のように表示されま す。

Physicalレイヤー・ペインからBusiness Model and Mappingペインに「COST」 列をドラッグし、次のようにFacts論理表にドロップします。

結果:COST列がFacts表の下に表示されます。

2.

Physicalレイヤー・ペインで、下方向にスクロールし、"PROFIT"で始まるすべての列を表示します。 [Shift]キーを押しながら、次のようにすべてのPROFITメジャーを選択します。

[Shift]キーを押しながら、PROFITメジャーをFacts表 にドラッグ・アンド・ドロップします。

注:Sourcesフォルダではなく、Facts論理表に列をド ロップします。

3.

上記と同じ方法を使用して、"SALES"から始まるすべての列を選択します。Physicalレイヤー・ペインの下部に あるUNITS列も選択します。これらのメジャーをFacts表にドラッグします。

Facts表に以下の列が格納されます。

最後に、すべてのメジャーのAggregation RuleをSumに設定します。この集計ルールは、Oracle Business Intelligence Enterprise Editionがメジャーとして列を認識できるように割り当てられます。アナリティック・ワークスペースまたはOLAPエンジンで、データが集計されま す。この方法は、単一行を'集計する'結果を生成します。このため、割合などのメジャーが正しくなります。

集計ルールをすべてのメジャーに割り当てるには、以下の手順を実行してください。

A. Facts論理表の 下にあるすべてのメジャーを選択します。右クリックして、メニューから「Set Aggregation」を選択しま す。
B.

Aggregationウィンドウで、「All columns the same」 オプションを選択し、Default aggregation ruleドロップダウン・リストから「Sum」を選択 します。

C. OK」 をクリックします。

メジャーのリストは、次のように表示されます。

Facts論理表のマッピングは完了です。Factsの横の閉じる記号 (-)をクリックしてください。

4.

次の順番で、列をPhysicalレイヤー・ペインからChannel論理表にドラッ グします。CHANNEL_TOTAL_CHAN_LVLDSC、CHANNEL_CHANNEL_LVLDSC、CHANNEL_LEVEL

終了すると、表示は次のようになります。

注:前述したとおり、ID列ではなく各ディメンション・レベルのレベル説明列をマップします。

5.

次の手順を実行して、論理階層レベルの説明列の名前を変更します。

A.

Channel論理表の下の「CHANNEL_TOTAL_CHAN_LVLDSC」列をダブ ルクリックします。Logical ColumnウィンドウのGeneralタブで、次のように名前をTotal Channelに 変更します。

OK」をクリックします。

B.

同じように、CHANNEL_CHANNEL_LVLDSCの名前をChannelに 変更します。

Channel論理表は、次のように表示されます。

6.

次に、CustomerディメンションのShipments階層の列をマップします。

以前のレッスンで説明したとおり、Customerディメンションには、下図のように2つの階層があります。

両方の階層をビジネス・モデルに追加できますが、アナリティック・ワークスペースのデフォルト階層である Shipments階層だけをマップします。以前のレッスンで説明したとおり、Shipments階層の最下位レベル("Ship To")の説明列の名前は、CUSTOMER_SHIP_TO_LVLDSC1です。

A.

ステップ5と同じ方法を使用して、リストされている順番でPhysicalレイヤーからCustomer論理 表に次の列をドラッグします。次のように、Customer論理表の各列の名前を変更します。


Physicalレイヤーの 列 新しい論理列の名前

CUSTOMER_TOTAL_CUST_LVLDSC Total Customer

CUSTOMER_REGION_LVLDSC Region

CUSTOMER_WAREHOUSE_LVLDSC Warehouse

CUSTOMER_SHIP_TO_LVLDSC1 Ship To

注意事項:順番に各列をマップしてください。この方法は、後述のメタデータ定義タスクを簡素化します。 SourcesフォルダではなくCustomer論理表に列をドロップしてください。

B.

次に、PhysicalレイヤーからCustomer論理表に「CUSTOMER_LEVEL」 列をドラッグします。

6.Aと6.Bが終了すると、Customer論理表は次のようになります。

7.

次に、Productディメンションの列をマップします。

次の順番で、PhysicalペインからProduct論理表に次の列をドラッグして列名を変更します。

Physicalレイヤーの列 新しい論理列の名前
PRODUCT_TOTAL_PROD_LVLDSC Total Product
PRODUCT_CLASS_LVLDSC Class
PRODUCT_FAMILY_LVLDSC Family
PRODUCT_ITEM_LVLDSC Item

次に、PhysicalレイヤーからProduct論理表に「PRODUCT_LEVEL」列をドラッグし ます。

終了すると、Product論理表は次のようになります。

8.

次に、Timeディメンションの列をマップします。

次の順番で、PhysicalペインからTime論理表に次の列をドラッグして列名を変更します。

Physicalレイヤーの列 新しい論理列の名前
TIME_ALL_YEARS_LVLDSC All Years
TIME_YEAR_LVLDSC Year
TIME_QUARTER_LVLDSC Quarter
TIME_MONTH_LVLDSC Month

次に、PhysicalレイヤーからTime論理表に「TIME_LEVEL」列と「TIME_END_DATE」 列をドラッグします。

注:TIME_END_DATE列は、Month論理列のデフォルトのソート順を指定するために使用されます。使用しない と、レポートにMonth列を表示する場合に、次のようにOracle Business Intelligence Enterprise Editionのデフォルトのアルファベット順でソートされます。

Q1 > Feb、Jan、Mar、Q2 > Apr、Jun、Mayなど

Monthのソート順を指定するには、まずTime論理表の「Month」論理列をダ ブルクリックします。次に、Logical Columnウィンドウで、Sort order columnボックスの横の「Set」 ボタンをクリックします。Browseウィンドウで、「TIME_END_DATE」列を選択して、「OK」 をクリックします。

ソート順の列が設定されます。最後に、「OK」をクリックして、Logical Columnウィンドウを閉じます。

終了すると、Time論理表は、次のようになります。

9.

最後に、各論理ディメンション表の主キーを割り当てます。

A.

Channel」論理表をダブルクリックします。Keysタブの「New」 をクリックします。次のように「Channel」列を選択します。

OK」をクリックして、主キーにChannelを割り当てます。最後 に、「OK」をクリックして、Logical Table - Channelウィンドウを閉じます。

Channel論理表は、次のように表示されます。

B. 9.Aと同じ方法を使用して、 Customer論理表の主キーに「Ship To」を割り当てます。
C. Product論理表の場合、主キーに「Item」 を割り当てます。
D. Time論理表の場合、主キーに「Month」 を割り当てます。

表示は次のようになります。

トピックに戻る

ディメンション・レベルのドリルの 有効化

このトピックでは、ディメンション・レベルのドリルを有効にする追加のメタデータを定義します。

はじめに、Dimensionオブジェクトと関連するLevelオブジェクトを定義します。次に、 論理ディメンション表から関連するディメンション・オブジェクト・レベルに列をマップします。

1.

Business Model and Mappingペインで、論理"ディメンション"表ごとにDimensionオブジェクトを作成します。

A. Global」 ビジネス・モデルを右クリックして、メニューから「New Object」→「Dimension」 を選択します。
B. Dimensionウィンドウの Generalタブで、名前にChannel Dimと入力します。
C.

OK」をクリックします。Globalビジネス・モデルの下に Dimensionオブジェクトが表示されます。

 

D.

1.Aから1.Cと同じ方法を使用して、Customer DimProduct Dim、およびTime Dimの3つのディメンション・オブジェクトを作成します。

終了すると、Globalビジネス・モデルは次のようになります。

2.

各Dimensionオブジェクトで、ディメンションの階層構造を表すLevelオブジェクトを作成します。

A. Channel Dim」を右クリックし、メニューから「New Object」→「Logical Level」を選択します。
B.

Logical LevelウィンドウのGeneralタブで、名前にTotal Channelと入力し、「OK」をクリックします。新しいLevelがChannel Dimの下に表示されます。

C.

作成した「Total Channel」レベル・オブジェクトを右クリッ クし、メニューから「New Object」→「Child Level」を選択 します。

D.

Logical LevelウィンドウのGeneralタブで、名前にChannelと 入力し、「OK」をクリックします。新しいLevelがTotal Channelの下に表示されます。

注意事項:

各ディメンション階層の最上位レベルは、2.Aから2.Bと同じ方法で作成されます。

すべての階層の後続の子レベルは、2.Cから2.Dと同じ方法で作成されます。

E.

2.Aから2.Dと同じ方法を使用して、デフォルト階層のCustomer Dimオ ブジェクトの下に次の階層レベルを作成します。

Total Customer→Region→Warehouse→Ship To

終了すると、Customer Dimは次のようになります。

F.

2.Aから2.Dと同じ方法を使用して、Product Dimオブジェ クトの下に次のレベルを作成します。

Total Product→Class→Family→Item

終了すると、Product Dimオブジェクトは次のようになります。

G.

2.Aから2.Dと同じ方法を使用して、Time Dimオブジェクトの 下に次のレベルを作成します。

All Years→Year→Quarter→Month

終了すると、Time Dimオブジェクトは次のようになります。

3.

Business Model and Mappingペイン内で、論理表から関連するディメンション・オブジェクト・レベルに列をドラッグします。これによって、目的をドリルするために必要な マッピング情報が提供されます。

次に、'Logical Key'として各ディメンション・レベルの列を割り当てます。

Channelディメンションの場合は、以下を実行してください。

A. Channel Dimのすべてのノードを開いて、「Channel」論理表ノードを開きます。
B. Channel論理表からChannel Dimオブジェクト内のTotal Channelレベルに「Total Channel」 列をドラッグ・アンド・ドロップします。Total Channel列は、Total Channelレベルの直下に表示されます。
C.

Channel列に対して、ステップ3.Bを繰り返します。 Channel列は、Channelレベルの直下に表示されます。マッピング方法と表示結果は、以下のとおりです。

D.

Total Channelレベル内の「Total Channel」列 を右クリックし、メニューから「New Logical Level Key」を選択します。Logical Level Keyダイアログで、「OK」をクリックします。

E. 3.Dと同じ方法を使用して、Logical Level Keyとして「Channel」レベル列を割り当てます。

マッピングと論理キーの割当てが終了すると、Channel Dimは次のようになります。

4.

ステップ3と同じマッピング方法を使用して、Customer論理表からCustomer Dimディメンション・オブジェクトの関連するレベルにすべての列をマップします。次に、各レベルの列にLogical Keyステータスを指定します。

マッピングと論理キーの割当てが終了すると、表示は次のようになります。

5.

ステップ3と同じマッピング方法を使用して、Product論理表からProduct Dimディメンション・オブジェクトの関連するレベルにすべての列をマップします。次に、各レベルの列にLogical Keyステータスを指定します。

マッピングと論理キーの割当てが終了すると、表示は次のようになります。

6.

ステップ3と同じマッピング方法を使用して、Time論理表からTime Dimディメンション・オブジェクトの関連するレベルにすべての列をマップします。次に、各レベルの列にLogical Keyステータスを指定します。

マッピングと論理キーの割当てが終了すると、表示は次のようになります。

トピックに戻る

ETV 集計に活用する追加のメタデータの定義

次に、Business Model and Mappingレイヤーで追加のメタデータを定義します。この追加のメタデータは、次の最適なOLAP問合せ特性を生成されたSQLに適用するために必要 です。

レベル条件は、WHERE句 の各ディメンションに適用されます。

レベル条件は、ディメンションに対して選択された最下位レ ベルに適用されます。たとえば、問合せに"Year"と"Quarter"がある場合、time_level=‘QUARTER’条件が適用されます。

"All/Total Level"条件は、SELECT文から省略されるディメンションに適用されます。こ れは、キューブ集計を活用するために必要です。

この方法でOLAP集計を活用するために調整される問合せは、パフォーマンスを最適化します。ま た、集計データのOLAP計算は、Oracle OLAPで発生します。

次のレポートは、OLAP集計を活用する最適なSQLを示します。

SQL問合せでは、

3つのディメンション (Product、Customer、Time)だけがSELECT文にありますが、レベル条件は、4つのすべてのディメンションに適用されます。
レベル条件は、問合せの各ディメンションに選択された最下 位レベル(FAMILY、REGION、QUARTER)に適用されます。

ChannelディメンションがSELECT文から省略されているので、'TOTAL_CHANNEL'のレベル条件は、 そのディメンションの問合せに自動的に適用されます。

Oracle Business Intelligence Enterprise EditionによってOLAP用に最適化されるSQLが生成されることを確認するには、次の追加メタデータの作成タスクが必要です。(A)各ディメン ション・レベルに論理表ソースを設定して、論理ディメンション表を"レベル認識"にする、(B)ディメンション・レベルを示す論理表とDimension オブジェクトを作成する、(C)Oracle VPDポリシーと概念的に似ているOracle Business Intelligence Enterprise Editionのセキュリティ・フィルタを利用して、強制的にレベル条件を各問合せに適用する。

必要な問合せ結果を取得するには、以下の管理タスクを実行してください。

論理ディメンション表と Facts論理表のフィルタ条件の提供

トピック・リストに戻る

各ディメンショ ン・レベルの表ソースの定義

現在、各論理ディメンションには、単一のソースが含まれます。ここで、論理ディメンションの各レベ ルの論理表ソースを作成します。

各レベル表ソースには、ソース(ディメンション階層内上位の親レベルのソースも含む)を示すマッピ ング情報が含まれます。ただし、レベルの下の列はマップしないでください。

また、各レベル表ソースは、階層内のレベルを示すリテラル値を指定します。

1.

はじめに、Channel論理表のすべてのレベルの論理表ソースを作成します。次に、以下のとおりに表ソースを修正しま す。

はじめに、Channel論理表の下の「Sources」フォルダをドリルします。次 に、「UNITS_CUBE_CUBEVIEW」表ソースを右クリックして、メニューから「Duplicate」 を選択します。2つ目の表ソースが表示されます。

Channelディメンションは2つのレベルだけ含むので、必要な表ソースの数を持つことになります。

以下のとおりに表ソースを修正します。

A. UNITS_CUBE_CUBEVIEW」 表ソースをダブルクリックします。 Logical Table Sourceウィンドウが表示されます。
B. Generalタブで、名前フィールドにTotal Channelと入力します。
C.

すべてのディメンション・レベルで、Column Mappingタブを使用して、階層内の現在のレベルとその上位にあるすべてのレベルのマッピングを指定します。このため、下位にあるすべてのレベルの マッピングを削除する必要があります。また、Column Mappingsタブを使用して、<DIMENSION>_LEVEL Expressionフィールドの列レベルのリテラル値を指定します。

Column Mappingsタブで、ChannelのLogical Columnを検索します(この列に関連するExpressionは"CHANNEL_CHANNEL_LVLDSC"です)。

この列はTotal Channelの下位のレベルなので、関連するExpression値とPhysical Table値を削除する必要があります。CHANNEL_CHANNEL_LVLDSCの横のExpression列に表示される「X」 アイコンをクリックします。

この操作によって、Expression値とPhysical Table値の両方が削除され、次のようにChannel論理列が下方向に移動します。

次に、CHANNEL_LEVEL論理列のExpression値をTotal Channelレベルのリテラル値に変更します。この値は、'TOTAL_CHANNEL'(一重引用符が必要)で す。Expressionフィールドの外側に移動すると、Physical Table値が削除されます。

注:Physicalレイヤーの列を右クリックして、メニューから「View Column」 を選択すると、<DIMENSION>_LEVEL列のリテラル値を確認できます。たとえば、Physicalレイヤーの CHANNEL_LEVEL列には、これらのリテラル値が含まれます。

D.

次に、Contentタブをクリックします。現在のDimensionオブジェクトの適切なLogical Levelを選択します。この場合、Channel DimのLogical Levelドロップダウン・リストから「Total Channel」を選択します。

E. OK」 をクリックして、Logical Table Sourceウィンドウを閉じます。
F.

ここで、2つ目の表ソースの「UNITS_CUBE_CUBEVIEW#1」をダブルクリック して、以下のように1.Aから1.Dと同じ方法を適用します。

Generalタブ:NameをChannelに 変更します。

Column Mappingタブ:CHANNEL_LEVEL列の Expressionを'CHANNEL'に変更します。終了すると、Column Mappingタブは次のようになります。

注:ChannelとTotal Channelの両方の論理列のExpressionとPhysical Tableのマッピングが保存されます。このことは問題ありません。現在のグレインより下位レベルのマッピングだけを削除してくださ い。

Contentタブ:Channel DimのLogical Levelドロップダウン・リストから、次のように「Channel」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

Channel論理表は、次のように表示されます。

2.

Customer論理表のレベルの論理表ソースを作成します。次に、以下のとおりに表ソースを修正します。

前と同様に、Customer論理表の下の「Sources」フォルダをドリルしま す。次に、ステップ1と同じ方法を使用して、UNITS_CUBE_CUBEVIEW表ソースの3つの複製を作成します。終了すると、次の表ソースが表示 されます。

1.Aから1.Eの方法を使用して、Customer論理表のソースに次の変更を適用します。

A.

UNITS_CUBE_CUBEVIEWの場合

Generalタブ:NameをTotal Customerに変更します。

Column Mappingタブ:以下の列のマッピングを削除して、 CUSTOMER_LEVEL列のExpressionを'TOTAL_CUSTOMER'に変更します。終了する と、Column Mappingタブは次のようになります。

注:PhysicalレイヤーのCUSTOMER_LEVEL列のリテラル値は、以下のとおりです。

Contentタブ:Customer DimのLogical Levelドロップダウン・リストから「Total Customer」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

B.

UNITS_CUBE_CUBEVIEW#1の場合

Generalタブ:NameをRegionに 変更します。

Column Mappingタブ:以下の列のマッピングを削除して、 CUSTOMER_LEVEL列のExpressionを'REGION'に変更します。終了すると、Column Mappingタブは次のようになります。

Contentタブ:Customer DimのLogical Levelドロップダウン・リストから「Region」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

C.

UNITS_CUBE_CUBEVIEW#2の場合

Generalタブ:NameをWarehouseに 変更します。

Column Mappingタブ:以下の列のマッピングを削除して、 CUSTOMER_LEVEL列のExpressionを'WAREHOUSE'に変更します。終了すると、 Column Mappingタブは次のようになります。

Contentタブ:Customer DimのLogical Levelドロップダウン・リストから「Warehouse」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

D.

UNITS_CUBE_CUBEVIEW#3の場合

Generalタブ:NameをShip Toに 変更します。

Column Mappingタブ:CUSTOMER_LEVEL列の Expressionを'SHIP_TO'に変更します。終了すると、Column Mappingタブは次のようになります。

Contentタブ:Customer DimのLogical Levelドロップダウン・リストから「Ship To」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

Customer論理表は、次のように表示されます。

3.

Product論理表にあるすべてのレベルの論理表ソースを作成します。次に、以下のとおりに表ソースを修正します。 Product階層には4つのレベルがあるので、元の表ソースの3つの複製を作成します。

前と同様に、Product論理表の下の「Sources」フォルダをドリルします。 次に、「UNITS_CUBE_CUBEVIEW」表ソースを右クリックして、メニューから「Duplicate」 を選択します。終了すると、次の表ソースが表示されます。

次に、上記と同じ方法を使用して、Product論理表のソースに次の修正を適用しま す。

A.

UNITS_CUBE_CUBEVIEWの場合

Generalタブ:NameをTotal Productに変更します。

Column Mappingタブ:以下の列のマッピングを削除して、 PRODUCT_LEVEL列のExpressionを'TOTAL_PRODUCT'に変更します。終了すると、 Column Mappingタブは次のようになります。

Contentタブ:Product DimのLogical Levelドロップダウン・リストから「Total Product」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

B.

UNITS_CUBE_CUBEVIEW#1の場合

Generalタブ:NameをClassに 変更します。

Column Mappingタブ:以下の列のマッピングを削除して、 PRODUCT_LEVEL列のExpressionを'CLASS'に変更します。終了すると、Column Mappingタブは次のようになります。

Contentタブ:Product DimのLogical Levelドロップダウン・リストから「Class」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

C.

UNITS_CUBE_CUBEVIEW#2の場合

Generalタブ: NameをFamilyに 変更します。

Column Mappingタブ:以下の列のマッピングを削除して、 PRODUCT_LEVEL列のExpressionを'FAMILY'に変更します。終了すると、Column Mappingタブは次のようになります。

Contentタブ:Product DimのLogical Levelドロップダウン・リストから「Family」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

D.

UNITS_CUBE_CUBEVIEW#3の場合

Generalタブ:NameをItemに 変更します。

Column Mappingタブ:PRODUCT_LEVEL列の Expressionを'ITEM'に変更し、列の外側に移動します。終了すると、Column Mappingタブは次のようになります。

Contentタブ:Product DimのLogical Levelドロップダウン・リストから「Item」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

Product論理表は、次のように表示されます。

4.

Time論理表にあるすべてのレベルの論理表ソースを作成します。次に、以下のとおりに表ソースを修正します。Time階 層には4つのレベルがあるので、元の表ソースの3つの複製を作成します。

前と同様に、Time論理表の下の「Sources」フォルダをドリルします。次に、 「UNITS_CUBE_CUBEVIEW」表ソースを右クリックして、メニューから「Duplicate」 を選択します。終了すると、次の表ソースが表示されます。

次に、上記と同じ方法を使用して、Time論理表のソースに次の修正を適用します。

A.

UNITS_CUBE_CUBEVIEWの場合

Generalタブ:NameをAll Yearsに 変更します。

Column Mappingタブ:以下の列のマッピングを削除して、 TIME_LEVEL列のExpressionを'ALL_YEARS'に変更します。終了すると、Column Mappingタブは次のようになります。

Contentタブ:Time DimのLogical Levelドロップダウン・リストから「All Years」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

B.

UNITS_CUBE_CUBEVIEW#1の場合

Generalタブ:NameをYearに 変更します。

Column Mappingタブ:以下の列のマッピングを削除して、 TIME_LEVEL列のExpressionを'YEAR'に変更します。終了すると、Column Mappingタブは次のようになります。

Contentタブ:Time DimのLogical Levelドロップダウン・リストから「Year」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

C.

UNITS_CUBE_CUBEVIEW#2の場合

Generalタブ:NameをQuarterに 変更します。

Column Mappingタブ:以下の列のマッピングを削除して、 TIME_LEVEL列のExpressionを'QUARTER'に変更します。終了すると、Column Mappingタブは次のようになります。

Contentタブ:Time DimのLogical Levelドロップダウン・リストから「Quarter」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

D.

UNITS_CUBE_CUBEVIEW#3の場合

Generalタブ:NameをMonthに 変更します。

Column Mappingタブ:TIME_LEVEL列の Expressionを'MONTH'に変更し、列の外側に移動します。終了すると、Column Mappingタブは次のようになります。

Contentタブ:Time DimのLogical Levelドロップダウン・リストから「Month」を選択します。

OK」をクリックして、Logical Table Sourceウィンドウを閉じます。

Time論理表は、次のように表示されます。

トピックに戻る

ディメンショ ン・レベルを示す論理表とディメンション・オブジェクトの作成

これまで、各ディメンション・レベルの論理表ソースを設定して、論理ディメンション表を"レベル認 識"にしました。

ただ、WHERE句の各問合せにレベルの条件を強制的に適用するメタデータを追加する必要がありま す。これには、以下の2段階のプロセスがあります。

A.

ディメンション・レベルを示すLogical TableとDimensionオブジェクトを作成します。この部分は、このトピックで扱います。

B. Oracle Business Intelligence Enterprise Editionのセキュリティ・フィルタを使用して、各ディメンションのフィルタ条件を提供します。この部分は、次のトピックで扱います。

以下の手順を実行して、ディメンション・レベルを示すLogical TableとDimensionオブジェクトを作成します。

1.

以下の手順を実行して、"Dimension Levels"論理表を作成します。

A. Globalビジネ ス・モデルを右クリックして、メニューから「New Object」→「Logical Table」 を選択します。
B. Logical TableウィンドウのGeneralタブで、名前にDimension Levelsと入力します。
C. OK」 をクリックします。

表示は次のようになります。

2.

Physicalレイヤー・ペインからDimension Levels論理表に次の列をドラッグします。

CHANNEL_LEVEL
CUSTOMER_LEVEL
PRODUCT_LEVEL
TIME_LEVEL

終了すると、Dimension Levels論理表は次のように表示されます。


3.

Dimension Levels論理表をダブルクリックして、Logical Table - Dimension Levelsウィンドウを表示します。Keysタブの「New」をクリックします。

Logical Keyダイアログで、以下のようにすべてのLevel列を選択して、「OK」 をクリックします。

次に、Logical Table - Dimension Levelsウィンドウの「OK」 をクリックします。表示は次のようになります。

4.

以下の手順を実行して、"_LEVEL"列を示すDimensionオブジェクトを作成します。

A. Globalビジネ ス・モデルを右クリックして、メニューから「New Object」→「Dimension」 を選択します。
B. Logical TableウィンドウのGeneralタブで、名前にLevels Dimと入力します。
C. OK」 をクリックします。結果:新しいDimensionオブジェクトが表示されます。
D.

以下の手順を実行して、Dimension Level列のLogical Levelプレースホルダを作成します。「Levels Dim」オブジェクトを右クリックして、「New Object」→「Logical Level」を選択します。論理レベル名をDetailに して、「OK」をクリックします。Levels Dimオブジェクトは、次のようになります。

E.

Dimension Levels論理表からLevels DimオブジェクトのDetail論理レベルに4つのすべての_LEVEL列をドラッグして、すべてのDimension Levels論理レベルをマップします。

F.

以下の手順を実行して、Levels Dimオブジェクトの"_LEVEL"列をKeysに設定します。

1. 「CHANNEL_LEVEL」列を右クリックし、メニューから「New Logical Level Key」を選択します。

2. 4つのすべてのLEVEL列を選択して、Logical Level Keyウィンドウの「OK」 をクリックします。

終了すると、表示は次のようになります。

5.

前のトピックで、各ディメンション・レベルの表ソースを定義しました。

ディメンション・レベルを示すLogical TableとDimensionオブジェクトが作成されたので、Facts論理表の表ソースとDimension Levels表の表ソースを変更できます。

Facts表ソースで、各DimensionオブジェクトのLogical Levelとして最下位の階層レベルを指定する必要があります。実行するには、以下の手順に従います。

A. Facts」 →「Sources」をドリルして、「UNITS_CUBE_CUBEVIEW」 をダブルクリックします。
B. Logical Table Sourceウィンドウで、「Content」タブを選択します。
C.

各Dimensionで、Logical Levelドロップダウン・リストから最下位の階層レベルを次のように選択します。

D. OK」 をクリックして、変更を保存します。

Dimension Levelsソースでは、以下のようにLogical Levelとして'Detail'レベルを指定する必要があります。

E. Dimension Levels」→「Sources」をドリルして、「UNITS_CUBE_CUBEVIEW」 をダブルクリックします。
F. Logical Table Sourceウィンドウで、「Content」タブを選択します。
G.

Levels DimのLogical Levelドロップダウン・リストから「Detail」 を次のように選択します。

H. OK」 をクリックします。

トピックに戻る

論理ディメン ション表とFacts論理表のフィルタ条件の提供

ビジネス・モデルにおける各論理ディメンションの特定のフィルタ条件とFacts論理表を提供し て、すべての問合せに適切なレベル条件を適用するタスクを実行します。フィルタ条件は、レベル列に基づいて、論理ディメンション表とFacts表を効果的 に"結合"します。同じフィルタ条件は、各論理表に適用されます。

Oracle Business Intelligence Enterprise Editionのセキュリティ・フィルタ機能を使用して、必要なフィルタを作成します。セキュリティ・フィルタは、常にセキュリティ・グループと関連しま す。ただし、セキュリティ・フィルタはAdministratorsグループのユーザーには適用されないため、新しいグループを作成し、Globalリポ ジトリのユーザーをこのグループに割り当てる必要があります。

1.

メイン・メニューから「Manage」→「Security」 を選択します。Security Managerウィンドウが表示されます。

2.

Security Managerウィンドウで、「Action」→「New」 →「Group」を選択します。Groupウィンドウで、名前にGlobal Usersと 入力して、「Permissions」をクリックします。


3.

Permissionsウィンドウで、「Filters」タブを選択し、「Add」 ボタンをクリックします。

4.

Browseウィンドウで、Business Modelタブを選択します。「Global」 ノードをドリルして、Dimension Levels以外のすべての論理表を次のように選択します。「Select」 ボタンをクリックします。

結果:Permissionsウィンドウが次のように表示されます。

5.

次に、Business Model Filter列の最初の省略記号ボタン(...)をクリックします。Expression Builder - Security Filterウィンドウが表示されます。

6.

Expression Builderウィンドウで、次のフィルタを作成します。

注:Expression Builderウィンドウの下部のペインと演算子を使用して、フィルタを作成する場合の適切な論理列と演算子を選択し、挿入します。

フィルタを作成した後、フィルタ全体を選択して、クリップボードにコピーします。

OK」をクリックします。Permissionsウィンドウは、次のように表示され ます。

7.

以下の手順を実行して、残りの論理表にそれぞれフィルタを貼り付けます。

A. 次の空の Business Model Filter列の省略記号ボタン(...)をクリックします。
B. フィルタをExpression Builder結果ペインに貼り付けます。
C. OK」 をクリックします。

このプロセスを繰り返して、すべての論理表のフィルタを作成します。終了すると、Permissionsウィンドウは次の ようになります。

この方法を使用すると、エンド・ユーザーがこれらの論理表のいずれかを選択した場合に同じフィルタが適用されます。

8.

OK」をクリックして、Permissionsウィンドウを閉じます。「OK」 をクリックして、Groupsウィンドウを閉じます。

9.

ここで、ユーザーをGlobal Usersグループに追加します。

実際の実装では、必要に応じてAuthenticationとAuthorizationの手順を統合します。ただし、わ かりやすさを考慮して、Oracle BI Administration Toolを使用して、ユーザーをGlobal Usersグループに追加します。

Security Managerウィンドウで、「Action」→「New」 →「User」を選択します。Userウィンドウで、ユーザー名にglobalと 入力し、「Global Users」グループを選択します。

OK」をクリックします。

最後に、Security Managerウィンドウを閉じます。

トピックに戻る

論理表の複雑な結合の指定

Presentation レイヤーを定義する前に、メタデータの作成タスクがあります。このタスクは、プロセスの前半で完了できます。Logical Table Diagramウィンドウを使用して、論理表の複雑な結合を作成し、論理スターを作成します。

1.

論理表のいずれかを右クリックして、メニューから「Business Model Diagram」 →「Whole Diagram」を選択します。

Logical Table Diagramウィンドウが開きます。次のように、論理表を'スター'に配置します。

2.

以下の手順を実行して、ディメンション表(Dimension Levels表を含む)とFacts表間の論理結合を作成します。

A.

ツールバーの「New Complex Join」アイコンをクリックし ます。

B.

Dimension Levels表などの論理ディメンション表のいずれ かをクリックします。次に、「Facts」表をクリックします。結果:Logical Joinウィンドウが表示されます。

OK」をクリックして、結合を作成します。最初の論理結合が確立されま す。

C. 論理ディメンション表ごとに2.Aと2.Bの ステップを繰り返します。

終了すると、Logical Table Diagramウィンドウは次のようになります。


3.

Logical Table Diagramウィンドウを閉じます。Globalビジネス・モデルは次のように表示されます。

Business Modelが完了します。

トピック・リストに戻る

Oracle BI Answersなどのツールを使用してユーザーがデータを問い合わせるには、使いやすい形式のビジネス・モデル・レイヤーのオブジェクトを編成する Presentationレイヤーを定義する必要があります。

Presentationレイヤーにおいて、エンド・ユーザーはアクセス・データをナ ビゲートしやすい方法で列を編成します。また、データの参照にユーザーが必要とする論理列だけを公開する必要があります。たとえば、Dimension Levels列は、エンド・ユーザーには関係ありません。ユーザーが管理する列のPresentationには、高度な設定が可能です。ただし、ここで は、簡単なPresentationカタログを作成します。

Globalビジネス・モデルのPresentationレイヤーを定義するには、以 下の手順を実行してください。

S
1.

Presentationペインを右クリックして、メニューから「New Presentation Catalog」を選択します。

Presentation Catalogウィンドウで、名前にGlobalと入力し ます。デフォルトでは、このリポジトリで唯一のビジネス・モデルのGlobalビジネス・モデルが選択されます。「OK」 をクリックして、新しいPresentationカタログ・オブジェクトを作成します。


2.

次の論理表をGlobal Presentationカタログにドラッグします。ChannelCustomerFactsProduct、 およびTime

3.

Presentation表に以下の修正を行います。

A.

各ディメンション・ノードをドリルして、各Presentation表の次の列を削除します。

Presentationレイヤー表 削除する列
Channel CHANNEL_LEVEL
Customer CUSTOMER_LEVEL
Product PRODUCT_LEVEL
Time TIME_LEVEL、 TIME_END_DATE
B. 次に、「Facts」 をダブルクリックして、Presentation Tablesウィンドウを開きます。名前をMeasuresに変更 して、「OK」をクリックします。

Presentationペインは、次のように表示されます。

4.

エラーがないことを確認するには、「Save」ボタンをクリックし、"Globalの 一貫性の確認"のプロンプトが表示されたら「Yes」を選択します。

メタデータ・モデルが正しい場合は、次のメッセージが表示されます。

Yes」をクリックします。これで、次のレッスンに進むことができます。

注意事項:Business ModelまたはObject Type列のPresentation Tableのエラーが返される場合は、それらのエラーを訂正し、Globalの一貫性を再確認してください。一貫性の確認の警告は無視できます。

トピック・リストに戻る

このレッスンで学習した内容は、以下のとおりです。

Physicalレイヤーへの組込み全体ビューのインポー ト
ETVのOLAPデータにアクセスするために必要な Business Modelメタデータの作成
エンド・ユーザー・アクセス用のPresentation カタログの作成

トピック・リストに戻る

Oracle Business Intelligence Enterprise Editionの詳細は、OTN Webサイトの追加OBEを参照してください。このページから、「Business Intelligence Start」 →「Oracle BI Enterprise Edition (EE-10.1.3.2)」を選択します。

トピック・リストに戻る

このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。


Copyright (c) Oracle Corporation 2007 All Rights Reserved
Oracle Corporation発行の「Lesson 2: Creating BI EE 10g Metadata for the Analytic Workspace」の翻訳版です。

この文書はあくまで参考資料であり、掲載されている情報は予告なしに変更されるこ とがあります。 万一、誤植などにお気づきの場合 は、オラクル社までお知らせください。 オラクル社は本書の内容に関してい かなる保証もしません。 また、本書の内容に関連したいかな る損害についても責任を負いかねます。

Oracleはオラクル社の登録商 標です。
その他の会社名およ び製品名は、 あくまでその製品および会社を識別 する目的にのみ使用されており、 それぞれの所有者の商標または登録 商標です。