樞紐分析表中的列加總

QlikView連續表對於簡單列加總和計算運算式總計之間的總計提供一個選擇。QlikView樞紐分析表則缺乏此選擇。樞紐分析表總計一律都會計算為運算式總計。

這一般都不會有問題,因為兩者不同時,列總計的加總很少有關聯。

警告: 除了單純加總之外,對於任何類型的彙總使用列加總時,應該特別小心。

提出這一點警告之後,以下章節將說明列總計的加總是所需結果的範例。

範例:  

在本範例中,三個不同班級的三人團隊按照年級而獲得分數。團隊可以從個別年級的團隊之中選出最高的分數,然後將三個最高分數加總。從指令碼讀取下列資料:

具有作為維度的 Class及作為運算式的 Max(Score) 之連續表會產生下列加總:

樞紐分析表一律會計算為運算式總計而非列加總,若將連續表轉換為的樞紐分析表,會發生一個問題:

在此特別的情況下,總計 12 是我們預期的結果,5 則並不正確。在這種情況下,可在運算式中使用 Aggr函數,而不是在維度中使用。

原始運算式包含在 Aggr函數中,使用周圍圖表的維度作為Aggr 函數的維度。現在此套件作為Sum彙總的引數使用。該表格現在將顯示預期的總計:

進階彙總函數的效用在於它對於各列都會評估出單一值。這是因為維度對於各個原始資料列顯然只有一個可能值。由於內部維度和運算式對於周圍圖表均相同,因此各個值當然與沒有 Sum和進階彙總函數包圍的結果相同。

不過,針對總計列,進階彙總函數將對各個維度欄位值傳回三個值。這些值將透過Sum彙總予以加總。雖然結果仍然是運算式總計,不過也等於列的加總。

另請參閱: