注意:空白字串值也會列入計數,但不計算空值數。
注意:加入轉換指令時,此函式會計算指定資料欄中不同值的數目,如目前的樣本所示。除非執行工作,否則不會對整個資料集套用計數。如果您變更樣本或執行工作,這個函式計算所得的值也會一併更新。如果您在後續方案步驟中使用變更資料列數量的轉換指令,該指令並不會影響已計算出的 COUNTDISTINCT
例項值。
基本用法
pivot value: COUNTDISTINCT(name) group:postal_code limit:1
輸出:產生有兩個資料欄的資料表,其中包含 postal_code
的不重複值,以及該 postal_code
值在 name
資料欄中不同值的計數。limit
參數可定義輸出資料欄的數量上限。
語法
pivot value:COUNTDISTINCT(function_col_ref) [group:group_col_ref] [limit:limit_count]
引數 | 是否必要? | 資料類型 | 說明 |
---|---|---|---|
function_col_ref | 是 | 字串 | 要套用函式的資料欄名稱 |
若要進一步瞭解 group
和 limit
參數,請參閱 Pivot 轉換。
function_col_ref
依據分組計算所含值的資料欄名稱。
- 輸入內容不得為文字值。
- 不支援多個資料欄和萬用字元。
使用須知:
是否必要? | 資料類型 | 範例值 |
---|---|---|
是 | 字串 (資料欄參照) | myValues |
範例
範例 - 簡易的資料列計數
本節提供簡單的範例,示範如何使用 COUNTA
及 COUNTDISTINCT
函式。這些函式的作用如下:
COUNTA
- 計算群組中符合特定條件的值數目。請參閱 COUNTA 函式。COUNTDISTINCT
- 計算群組中符合特定條件的非空值數目。請參閱 COUNTDISTINCT 函式。
來源:
在下列範例中,第七列是空白字串,而第八列是空值。
rowId | Val |
---|---|
r001 | val1 |
r002 | val1 |
r003 | val1 |
r004 | val2 |
r005 | val2 |
r006 | val3 |
r007 | (empty) |
r008 | (null) |
轉換:
對來源資料欄套用 COUNTA
函式:
derive type:single value:COUNTA(Val) as:'fctnCounta'
對來源套用 COUNTDISTINCT
函式:
derive type:single value:COUNTDISTINCT(Val) as:'fctnCountdistinct'
結果:
下面是這兩個函式計算出的資料欄中值的數目,其中 COUNTDISTINCT
只計算不同值的數目。這兩個函式都將 r007
的空白值列入計算。
rowId | Val | fctnCountdistinct | fctnCounta |
---|---|---|---|
r001 | val1 | 4 | 7 |
r002 | val1 | 4 | 7 |
r003 | val1 | 4 | 7 |
r004 | val2 | 4 | 7 |
r005 | val2 | 4 | 7 |
r006 | val3 | 4 | 7 |
r007 | (empty) | 4 | 7 |
r008 | (null) | 4 | 7 |