Lesson 2:アナリティック・ワークスペースのOracle Business
Intelligence Enterprise Edition 10gメタデータの作成
このチュートリアルでは、アナリティック・ワークスペース・データおよびOLAPエンジンにアクセ
スするためのメタデータを作成する方法について説明します。Oracle BI Administration
Toolを使用して、必要なメタデータを作成します。
約1時間
このチュートリアルでは、以下のトピックについて説明します。
このアイコンの上にカーソルを置くと、すべてのスクリー
ンショットがロードし、表示されます。(警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・
タイムが遅くなる場合があります。)
注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあ
るアイコンの上にカーソルを置いてください。スクリーンショットをクリックすると、非表示になります。
最上位レベルの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でアクセスするアナリティック・ワークスペースの準備』
チュートリアルをすべて終了していること。
|
トピック・リストに戻る
はじめに、アナリティック・ワークスペース(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」
をクリックします。 |
メジャーのリストは、次のように表示されます。
|
| 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 Dim、Product
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ステータスを指定します。
マッピングと論理キーの割当てが終了すると、表示は次のようになります。
|
トピックに戻る
次に、Business Model and
Mappingレイヤーで追加のメタデータを定義します。この追加のメタデータは、次の最適なOLAP問合せ特性を生成されたSQLに適用するために必要
です。
 |
レベル条件は、WHERE句
の各ディメンションに適用されます。
|
 |
レベル条件は、ディメンションに対して選択された最下位レ
ベルに適用されます。たとえば、問合せに"Year"と"Quarter"がある場合、time_level=‘QUARTER’条件が適用されます。 |
 |
"All/Total Level"条件は、SELECT文から省略されるディメンションに適用されます。こ
れは、キューブ集計を活用するために必要です。
|
この方法でOLAP集計を活用するために調整される問合せは、パフォーマンスを最適化します。ま
た、集計データのOLAP計算は、Oracle OLAPで発生します。
次のレポートは、OLAP集計を活用する最適なSQLを示します。
SQL問合せでは、
Oracle Business Intelligence Enterprise
EditionによってOLAP用に最適化されるSQLが生成されることを確認するには、次の追加メタデータの作成タスクが必要です。(A)各ディメン
ション・レベルに論理表ソースを設定して、論理ディメンション表を"レベル認識"にする、(B)ディメンション・レベルを示す論理表とDimension
オブジェクトを作成する、(C)Oracle VPDポリシーと概念的に似ているOracle Business Intelligence
Enterprise Editionのセキュリティ・フィルタを利用して、強制的にレベル条件を各問合せに適用する。
必要な問合せ結果を取得するには、以下の管理タスクを実行してください。
トピック・リストに戻る
各ディメンショ
ン・レベルの表ソースの定義
現在、各論理ディメンションには、単一のソースが含まれます。ここで、論理ディメンションの各レベ
ルの論理表ソースを作成します。
各レベル表ソースには、ソース(ディメンション階層内上位の親レベルのソースも含む)を示すマッピ
ング情報が含まれます。ただし、レベルの下の列はマップしないでください。
また、各レベル表ソースは、階層内のレベルを示すリテラル値を指定します。
| 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カタログにドラッグします。Channel、Customer、Facts、Product、
および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
カタログの作成 |
トピック・リストに戻る
 |
このレッスンの完全なリポジトリは、ここからダウンロードできます。File Downloadウィンドウの「Save」をクリッ
クします。次に、移動先としてC:\OracleBI\server\Repositoryフォルダを選択します。
|
 |
Oracle Business Intelligence
Enterprise Editionの詳細は、OTN
Webサイトの追加OBEを参照してください。このページから、「Business Intelligence Start」
→「Oracle BI Enterprise Edition (EE-10.1.3.2)」を選択します。 |
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|