集計関数を使用したネストされた集計関数
TOTAL関数を使用したネストは、必ずしも十分ではありません。もっと一般的なネストにするためには、計算軸と組み合わせた高度な集計関数を使用する必要があります。
次のデータは、スクリプトから読み取られています。
このデータからは、「各営業員が受け持つ顧客数は?」という質問が導かれます。
その問いに対する回答を、標準的な QlikView のテーブルから、簡単に得ることができます:
また、入手した知見に基づき、「顧客が一人しかいない営業員は何人いるか?」、「3人以上の顧客を受け持つ営業員は何人いるか?」といった、新たな疑問が起こるかもしれません。
このような単純な例で、手動で数式列の数を数えることはできますが、通常、2 つ目の集計順序を必要とする種類の質問となります。計算を行うために必要なデータは元の項目には存在せず、それらの項目から直接計算することもできません。
新しいチャートの軸として、上記のチャートの数式列を使用する方法を見つける必要があります。高度な集計関数を使用すると、入手できます。
新しいチャートの内部チャート計算として、最初のチャートの計算を実行するために、次のような軸のステートメントを使用する必要があります。
=Aggr(Count(Customer),SalesRep)
そして、新しいチャートのための数式を、次のように入力します:
Count(Distinct SalesRep)
QlikView は、基底のテーブル内の行数をカウントするため、DISTINCT修飾子が必要となります。
結果の表から、「1、2、3 人の顧客を受け持つ営業員は何人いますか?」といった質問に対し、回答が導きだされます。
次の 2 つの点に注意してください。
- 2番目のチャートは、最初のチャートの存在は必要としません。このチャートには、その軸内に定義された最初の順序の集計が含まれています。
- ネストの可能性はここまでではありません。もちろん、高度な集計関数の軸引数には、高度な集計関数を使用する計算軸が含まれます。ただし、3つ目の集計レベルを通過するときの実行中の内容が分からなくなるところがあります。