含有彙總函數的巢狀彙總

含有TOTAL的巢狀結構不一定夠用。如需一般的巢狀,必須使用進階彙總函數結合計算維度。

範例:  

從指令碼讀取下列資料:

對於這些資料,明顯的問題是:「每位銷售代表有多少位客戶?」

使用標準 QlikView表格就能輕鬆回答問題:

根據剛剛獲得的知識,可能提出一些新問題:"How may sales representatives have only a single customer? 有多少位銷售代表有三位以上的客戶?」

對於這種簡單的問題,雖然可以手動透過運算式資料行輕鬆算出數字,不過這類問題都需要第二層彙總。原始欄位沒有進行計算所需的資料,因此無法直接從原始欄位計算。

您必須使用上方圖表的運算式資料行作為新圖表的維度。使用進階彙總函數即可取得此內容。

若要執行第一個圖表的計算並作為新圖表中的內部圖表計算,您需要使用以下維度的陳述式:

=Aggr(Count(Customer),SalesRep)

接著,為新圖表輸入以下運算式:

Count(Distinct SalesRep)

需要 DISTINCT限定詞,因為 QlikView 將計算基礎表格的行數。

產生的表格可回答「有多少位銷售代表有一、二或三位客戶?」這類問題:

有兩件事必須注意:

  1. 第二個圖表完全不需要使用第一個圖表。在維度中定義的第一層彙總就已經足夠。
  2. 巢狀的可能性並不僅止於此。進階彙總函數的維度引數當然包含計算維度,這會轉而使用進階彙總函數。不過,在傳遞第三層彙總時緩解計算密集度相對比較簡單。

另請參閱: