含有彙總函數的巢狀彙總
含有 TOTAL 的巢狀結構不一定夠用。如需一般的巢狀,必須使用進階彙總函數結合計算維度。
範例:
從指令碼讀取下列資料:
對於這些資料,明顯的問題是:「每位銷售代表有多少位客戶?」。
使用標準 QlikView 表格就能輕鬆回答問題:
根據剛剛獲得的知識,可能提出一些新問題:「有多少位銷售代表只有一位客戶?有多少位銷售代表有三位以上的客戶?」。
對於這種簡單的問題,雖然可以手動透過運算式資料行輕鬆算出數字,不過這類問題都需要第二層彙總。原始欄位沒有進行計算所需的資料,因此無法直接從原始欄位計算。
您必須使用上方圖表的運算式資料行作為新圖表的維度。使用進階彙總函數即可取得此內容。
若要執行第一個圖表的計算並作為新圖表中的內部圖表計算,您需要使用以下維度的陳述式:
=Aggr(Count(Customer),SalesRep)
接著,為新圖表輸入以下運算式:
Count(Distinct SalesRep)
需要 DISTINCT 限定詞,因為 QlikView 將計算基礎表格的行數。
產生的表格可回答「有多少位銷售代表有一、二或三位客戶?」這類問題:
有兩件事必須注意:
- 第二個圖表完全不需要使用第一個圖表。在維度中定義的第一層彙總就已經足夠。
- 巢狀的可能性並不僅止於此。進階彙總函數的維度引數當然包含計算維度,這會轉而使用進階彙總函數。不過,在傳遞第三層彙總時緩解計算密集度相對比較簡單。