跳到主要內容

彙總函數

稱為彙總函數的函數系列,包含將多個欄位值作為其輸入值並根據群組傳回單一結果的函數,其中分組是由圖表維度或指令碼陳述式中的 group by 子句所定義。

彙總函數包括 Sum()Count()Min()Max() 等。

大多數彙總函數可以同時用在資料載入指令碼和圖表運算式中,但是語法有所不同。

在資料載入指令碼中使用彙總函數

彙總函數只能在 LOAD SELECT 陳述式內部使用。

在圖表運算式中使用彙總函數

除非內部彙總包含 TOTAL 限定詞,否則彙總函數的參數不可包含其他彙總函數。 如需更進階的巢狀彙總,請使用進階函數 Aggr 結合指定的維度。

彙總函數會將選項所定義之一組可能記錄加以彙總。然而,可以在集合分析中使用集合運算式,來定義替代的一組記錄。

集合分析與集合運算式

彙總計算方式

彙總透過特定表格的記錄循環,在其中彙總記錄。例如,Count(<Field>) 將會計算 <Field> 所在之表格中的記錄數量。若您只想要彙總相異欄位值,需要使用 distinct 子句,例如 Count(distinct <Field>)。

若彙總函數包含來自不同表格的欄位,該彙總函數將會透過構成欄位之各個表格的產品記錄循環。這有效能罰則,因此應避免這類彙總,特別是有大量資料時。

索引鍵欄位彙總

計算彙總的方式代表您無法彙總索引鍵欄位,因為不清楚哪個表格應用於彙總。例如,若欄位 <Key> 連結兩個表格,不清楚 Count(<Key>) 應從第一個或第二個表格傳回記錄數量。

不過,若您使用 distinct 子句,可以充分定義並計算彙總。

因此,若您在彙總函數內部使用索引鍵欄位並且沒有 distinct 子句,QlikView 將會傳回可能無意義的數字。解決方法是使用 distinct 子句,或使用索引鍵副本,這是僅位於一個表格中的副本。

例如,在下列表格中,ProductID 是表格之間的索引鍵。

產品和詳細資訊表格之間的 ProductID 索引鍵

目前選項範例

Count(ProductID) 可以在 Products 表格 (這在每個產品只有一個記錄——ProductID 是主要索引鍵) 中計算,或可以在 Details 表格 (這大部分在每個產品有數個記錄) 中計算。若您想要計算相異產品的數量,應使用 Count(distinct ProductID)。若您想要計算特定表格中的列數,不應使用索引鍵。

加入分析現代化計畫

Remove banner from view

透過分析現代化程式進行現代化而不犧牲寶貴的 QlikView 應用程式。 按一下這裡 取得更多資訊或聯繫: ampquestions@qlik.com