AGGREGATE (MDX)
メジャーの集約ロジックに従い、セットのすべての要素にわたって、指定されたメジャー (または現在のメジャー) の集約値を返します。
返りタイプ
この関数は、数値を返します。
構文および詳細
AGGREGATE(set_expression, optional_numeric_expression)
以下は、この指定の説明です。
-
set_expression は、メンバまたはタプルのセットに対して評価される式です。
-
optional_numeric_expression は、セット要素ごとにこの関数が評価する数値式です。
通常、この式の形式は、[MEASURES].[measure_name] です。
数値式を指定しない場合、システムは現在の結果セルで使用されるメジャーを使用します。例えば、0 軸で使用されたメジャーまたは WHERE 節で指定されたメジャーです (これらがある場合)。クエリ自体がメジャーを指定しない場合は、ファクト・テーブル内のレコードをカウントする %COUNT が代わりに使用されます。
この関数は、セットの各要素に対して数値を評価し、それらの値の集約値を返します。
例
まず、以下のクエリは、aged.decade レベルのメンバに関する、3 つのメジャーの値を示します。
SELECT {MEASURES.[%COUNT],MEASURES.[encounter count],MEASURES.[avg test score]} ON 0,
birthd.decade.MEMBERS ON 1 FROM patients
Patient Count Encounter Count Avg Test Score
1 1910s 80 5,359 75.17
2 1920s 227 12,910 74.20
3 1930s 567 33,211 74.67
4 1940s 724 38,420 73.39
5 1950s 1,079 46,883 73.72
6 1960s 1,475 57,814 74.16
7 1970s 1,549 49,794 74.35
8 1980s 1,333 35,919 74.13
9 1990s 1,426 29,219 74.79
10 2000s 1,406 20,072 74.95
11 2010s 134 1,346 73.55
次に、以下のクエリは、AGGREGATE を使用して、メンバのこのセットにわたって、これらのメジャーの集約値を検索します。
SELECT {MEASURES.[%COUNT],MEASURES.[encounter count],MEASURES.[avg test score]} ON 0,
AGGREGATE(birthd.decade.MEMBERS) ON 1 FROM patients
Patient Count Encounter Count Avg Test Score
AGGREGATE 10,000 330,947 74.28
以下のクエリは、AGGREGATE 関数の 2 番目の引数を使用します。
SELECT AGGREGATE(birthd.decade.MEMBERS, MEASURES.[%COUNT]) ON 0 FROM patients
AGGREGATE
10,000