AGGREGATIONファンクションをモデル内で使用すると、カスタム集計を表すモデルの作成が可能です。このようなaggmapは、AGGREGATEファンクションの動的集計で使用できます。
注意: AGGREGATIONファンクションは動的集計でのみ使用されるため、このようなファンクションを含むモデルはAGGREGATEコマンドでは使用できません。 |
パラメータ
カスタム集計に含まれる1つ以上のディメンション値のリスト。指定する値は、ターゲット・ディメンション値が属しているディメンションと同じディメンションに属している必要があります。各ディメンション値はテキスト・リテラルとして指定する必要があります。変数のようにテキスト式によって表すことはできません。
例
例7-9 カスタム集計を作成するためのAGGREGATIONファンクションの使用
それぞれのステップで、次のような各コード行をプログラムで実行します。
新しいディメンション値my_time
をtime
ディメンションに追加します。
MAINTAIN time ADD 'My_Time'
モデルmytime_custagg
を定義し、AGGREGATIONファンクションを使用してこのモデルの仕様を設定します。
DEFINE mytime_custagg MODEL MODEL JOINLINES('DIMENSION time' 'My_Time = AGGREGATION(\'23\' \'24\')')
(引用符付き文字列に引用符を使用する場合は、バックスラッシュのエスケープ文字が必要です。)
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
モデルmytime_custagg
をsales_aggmap
に追加します。
AGGMAP ADD mytime_custagg TO sales_aggmap
対象とする値に各ディメンションを制限し、レポートを作成します。
" 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