Aggr - チャート関数

Aggr() は、指定された軸上で計算された数式の値の配列を返します。たとえば、顧客別、地域別 sales の最大値です。Aggr 関数は高度な集計に使用されます。高度な集計では、Aggr 関数の結果の配列をネストされる集計への入力として使用し、別の集計関数で Aggr 関数を囲みます。

構文:  

Aggr({[DISTINCT] [NODISTINCT ]} expr, dim{, dimension})

戻り値のデータ型: デュアル

引数:  

引数 説明
expr

集計関数で構成される数式。デフォルトでは、集計関数は選択されたレコード セットに対して集計を行います。

dim 数式の値の配列を決定する軸。これは単一項目で、数式ではありません。
dimension オプション。さらに拡張可能な数式による 1 つまたは複数の軸。
DISTINCT expression 引数の前に distinct 修飾子が配置されている場合、あるいは修飾子がまったく使用されていない場合は、軸の値の組み合わせごとに 1 つの戻り値のみ生成されます。これは正常な集計方法で、これらの異なる組み合わせがそれぞれチャートの 1 行に反映されます。
NODISTINCT

expression 引数の前に nodistinct 修飾子が配置されている場合、軸の値の組み合わせは、いずれも基底のデータ構造に基づいて、複数の戻り値を生成する可能性があります。軸が 1 本だけの場合、ソース データに行が存在するので、aggr 関数は要素と同じ数の配列を返します。

SumMinAvg などの基本的な集計関数では単一の数値が返されますが、Aggr() 関数は一時的に複数の段階的結果を作成して他の集計結果と比較できます。たとえば、Aggr() ステートメントで、顧客による売上の集計から平均の売上を計算し、合計された結果の平均を計算します。Avg(TOTAL Aggr(Sum(Sales), Customer))

ヒント: 複数のレベルでネストされたチャート集計を作成する場合、計算軸でこの関数を使用してください。

制限:  

各軸は単一の項目でなければならず、数式 (計算軸) にすることはできません。

例と結果:

Customer Product UnitSales UnitPrice
Astrida AA 4 16
Astrida AA 10 15
Astrida BB 9 9
Betacab BB 5 10
Betacab CC 2 20
Betacab DD 25 25
Canutility AA 8 15
Canutility CC - 19

CustomerProductUnitPriceUnitSales を軸としたテーブルを作成します。

結果
Avg(Aggr(Sum(UnitSales*UnitPrice), Customer))

数式をメジャーとしてテーブルに追加します。Aggr(Sum(UnitSales*UnitPrice), Customer) の値。Customer による売上の合計値を求め、3 つの Customer 値の配列: 295、715、120 を返します。

これらの値は Avg() 関数への入力として使用され、売上の平均値「376.6667」を算出します(プロパティ パネルで、[プレゼンテーション] の下の [合計] を選択しておく必要があります)。

例で使用されているデータ:

ProductData:

LOAD * inline [

Customer|Product|UnitSales|UnitPrice

Astrida|AA|4|16

Astrida|AA|10|15

Astrida|BB|9|9

Betacab|BB|5|10

Betacab|CC|2|20

Betacab|DD|25|25

Canutility|AA|8|15

Canutility|CC||19

] (delimiter is '|');