ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

AGGREGATION

AGGREGATIONファンクションをモデル内で使用すると、カスタム集計を表すモデルの作成が可能です。このようなaggmapは、AGGREGATEファンクションの動的集計で使用できます。


注意:

AGGREGATIONファンクションは動的集計でのみ使用されるため、このようなファンクションを含むモデルはAGGREGATEコマンドでは使用できません

構文

AGGREGATION(dimval-list)

パラメータ

dimval-list

カスタム集計に含まれる1つ以上のディメンション値のリスト。指定する値は、ターゲット・ディメンション値が属しているディメンションと同じディメンションに属している必要があります。各ディメンション値はテキスト・リテラルとして指定する必要があります。変数のようにテキスト式によって表すことはできません。

例7-9 カスタム集計を作成するためのAGGREGATIONファンクションの使用

それぞれのステップで、次のような各コード行をプログラムで実行します。

  1. 新しいディメンション値my_timetimeディメンションに追加します。

    MAINTAIN time ADD 'My_Time'
    
  2. モデルmytime_custaggを定義し、AGGREGATIONファンクションを使用してこのモデルの仕様を設定します。

    DEFINE mytime_custagg MODEL
    MODEL JOINLINES('DIMENSION time' 'My_Time = AGGREGATION(\'23\' \'24\')')
    

    (引用符付き文字列に引用符を使用する場合は、バックスラッシュのエスケープ文字が必要です。)

  3. sales_aggmapというaggmapを定義します。

    DEFINE sales_aggmap AGGMAP <time cpc <customer product channel> >
    AGGMAP
    RELATION prntrel.time
    RELATION prntrel.chan
    RELATION prntrel.prod
    RELATION prntrel.cust
    END
    
  4. モデルmytime_custaggsales_aggmapに追加します。

    AGGMAP ADD mytime_custagg TO sales_aggmap
    
  5. 対象とする値に各ディメンションを制限し、レポートを作成します。 

    " Run a report
    LIMIT time TO 'My_Time' '23' '24'
    LIMIT channel TO '5'
    LIMIT product TO '70'
    LIMIT customer TO '114'
    REPORT DOWN time AGGREGATE(sales USING sales_aggmap)
    

    レポートによって生成される出力は次のとおりです

    CHANNEL: 5
    PRODUCT: 70
                   --AGGREGATE(SALES---
                   USING SALES_AGGMAP)-
                   ------CUSTOMER------
    TIME                   114
    -------------- --------------------
    my_time                  682,904.34
    23                        84,982.92
    24                       597,921.42