ヘッダーをスキップ
Oracle OLAP DMLリファレンス
11g リリース1(11.1)
E05732-02
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

集計アドバイザの使用

アナリティック・ワークスペースでの集計データの管理は、パフォーマンスに大きく影響することがあります。DBMS_AWパッケージのADVISE_RELプロシージャおよびADVISE_CUBEプロシージャを使用すると、事前集計するディメンション・メンバーの最適な組合せを決定できます。これらのプロシージャは、集計アドバイザとして知られています。

指定した割合に基づき、ADVISE_RELは事前集計するディメンション・メンバーのセットを提示します。ADVISE_CUBEは、キューブの各ディメンションについてメンバーのセットを提示します。

ワークスペースの集計機能

集計データを格納する手順は、aggmapというアナリティック・ワークスペース・オブジェクトで指定されます。OLAP DML AGGREGATEコマンドは、aggmapを使用してデータを事前計算します。事前集計されないデータは、データの問合せ時にAGGREGATEファンクションで動的に集計されます。

静的な集計と動的な集計のバランスの選択は、ディスク領域、使用可能なメモリー、データに対して実行される問合せの特性と頻度など、多くの要素によって異なります。これらの要素を検討して、事前集計するデータの割合を決定します。

事前集計するデータの割合を決定したら、集計アドバイザを使用できます。これらのプロシージャで、階層内のディメンション・メンバーの分布を分析し、事前集計するディメンション・メンバーの最適な組合せを特定します。

例: ADVISE_RELプロシージャの使用

指定した事前計算の割合に基づいて、ADVISE_RELプロシージャは、すべての階層関係を持つディメンションを表すファミリ・リレーションを分析し、ディメンション・メンバーのリストを返します。

ADVISE_CUBEは、キューブのaggmapで各ディメンションに同様の経験則を適用します。

例B-2では、次に示す顧客ディメンションのサンプルを使用して、ADVISE_RELプロシージャを説明します。

サンプル・ディメンション: Globalアナリティック・ワークスペースの顧客

GLOBAL_AW.GLOBALの顧客ディメンションには、4つのレベルを持つSHIPMENTS_ROLLUPと3つのレベルを持つMARKET_ROLLUPの2つの階層があります。ディメンションは106のメンバーを持ちます。この数には、各レベルの全メンバーおよびすべてのレベル名が含まれています。

顧客ディメンションのメンバーは、テキスト値が詳細な説明および簡単な説明で定義された整数キーです。

次のOLAP DMLコマンドは、データベースの標準形式である顧客ディメンションの表現に関する情報を示しています。

SET serveroutput ON
---- Number of members of Customer dimension
EXECUTE dbms_aw.execute('SHOW STATLEN(customer)')
106

---- Hierarchies in Customer dimension;
EXECUTE dbms_aw.execute('REPORT W 40 customer_hierlist');
CUSTOMER_HIERLIST
----------------------------------------
MARKET_ROLLUP
SHIPMENTS_ROLLUP

---- Levels in Customer dimension
EXECUTE dbms_aw.execute('REPORT W 40 customer_levellist');

CUSTOMER_LEVELLIST
----------------------------------------
TOTAL_CUSTOMER
REGION
WAREHOUSE
TOTAL_MARKET
MARKET_SEGMENT
ACCOUNT
SHIP_TO
---- Levels in each hierarchy from leaf to highest
EXECUTE dbms_aw.execute('REPORT W 20 customer_hier_levels');

CUSTOMER_HIERL
IST            CUSTOMER_HIER_LEVELS
-------------- --------------------
SHIPMENTS      SHIP_TO
               WAREHOUSE
               REGION
               TOTAL_CUSTOMER
MARKET_SEGMENT SHIP_TO
               ACCOUNT
               MARKET_SEGMENT
               TOTAL_MARKET

---- Parent relation showing parent-child relationships in the Customer dimension
---- Only show the last 20 members
EXECUTE dbms_aw.execute('LIMIT customer TO LAST 20');
EXECUTE dbms_aw.execute('REPORT W 10 DOWN customer W 20 customer_parentrel');

           -----------CUSTOMER_PARENTREL------------
           ------------CUSTOMER_HIERLIST------------
CUSTOMER      MARKET_ROLLUP       SHIPMENTS_ROLLUP
---------- -------------------- --------------------
103        44                   21
104        45                   21
105        45                   21
106        45                   21
7          NA                   NA
1          NA                   NA
8          NA                   1
9          NA                   1
10         NA                   1
11         NA                   8
12         NA                   10
13         NA                   9
14         NA                   9
15         NA                   8
16         NA                   9
17         NA                   8
18         NA                   8
19         NA                   9
20         NA                   9
21         NA                   10

---- Show text descriptions for the same twenty dimension members
EXECUTE dbms_aw.execute('REPORT W 15 DOWN customer W 35 ACROSS customer_hierlist: <customer_short_description>');
ALL_LANGUAGES: AMERICAN_AMERICA
                ---------------------------CUSTOMER_HIERLIST---------------------------
                -----------MARKET_ROLLUP----------- ---------SHIPMENTS_ROLLUP----------
CUSTOMER            CUSTOMER_SHORT_DESCRIPTION          CUSTOMER_SHORT_DESCRIPTION
--------------- ----------------------------------- -----------------------------------
103             US Marine Svcs Washington           US Marine Svcs Washington
104             Warren Systems New York             Warren Systems New York
105             Warren Systems Philladelphia        Warren Systems Philladelphia
106             Warren Systems Boston               Warren Systems Boston
7               Total Market                        NA
1               NA                                  All Customers
8               NA                                  Asia Pacific
9               NA                                  Europe
10              NA                                  North America
11              NA                                  Australia
12              NA                                  Canada
13              NA                                  France
14              NA                                  Germany
15              NA                                  Hong Kong
16              NA                                  Italy
17              NA                                  Japan
18              NA                                  Singapore
19              NA                                  Spain
20              NA                                  United Kingdom
21              NA                                  United States

例B-2 ADVISE_REL: 推奨される顧客ディメンションの事前集計

この例では、サンプル・ディメンション: Globalアナリティック・ワークスペースの顧客で説明したGLOBAL顧客ディメンションを使用しています。

次のPL/SQL文は、顧客ディメンションの25%を事前集計することを前提としています。ADVISE_RELは、値セットで推奨されるメンバーのセットを返します。

SET serveroutput ON
EXECUTE dbms_aw.execute('AW ATTACH global_aw.global');
EXECUTE dbms_aw.execute('DEFINE customer_preagg VALUESET customer');
EXECUTE dbms_aw.advise_rel('customer_parentrel', 'customer_preagg', 25);
EXECUTE dbms_aw.execute('SHOW VALUES(customer_preagg)');
31
2
4
5
6
7
1
8
9
20
21

返される顧客メンバーと、説明文、関連するレベルおよび階層は、次に示すとおりです。

顧客メンバー 説明 階層 レベル
31 Kosh Enterprises MARKET_ROLLUP ACCOUNT
2 Consulting MARKET_ROLLUP MARKET_SEGMENT
4 Government MARKET_ROLLUP MARKET_SEGMENT
5 Manufacturing MARKET_ROLLUP MARKET_SEGMENT
6 Reseller MARKET_ROLLUP MARKET_SEGMENT
7 TOTAL_MARKET MARKET_ROLLUP TOTAL_MARKET
1 TOTAL_CUSTOMER SHIPMENTS_ROLLUP TOTAL_CUSTOMER
8 Asia Pacific SHIPMENTS_ROLLUP REGION
9 Europe SHIPMENTS_ROLLUP REGION
20 United Kingdom SHIPMENTS_ROLLUP WAREHOUSE
21 United States SHIPMENTS_ROLLUP WAREHOUSE