COUNTAIF 函式

為每個符合特定條件的群組中的資料列計算非空值的總數。

注意:在轉換中新增這個函式後,系統會將其套用到目前的樣本。如果您變更樣本或執行工作,此函式所計算出的值也會一併更新。在後續方案步驟中,您可能會使用變更資料列數量的轉換指令,不過該指令並不會影響您在這個步驟中計算出的值。

若要執行簡易的非空值計算作業而不設下任何條件,請使用 COUNTA 函式。請參閱 COUNTA 函式

基本用法

pivot value: COUNTAIF(entries, entryValidation == 'Ok') group:City limit:1

輸出:entryValidation 的值為 'Ok' 時,產生有兩個資料欄的資料表,其中包含 City 的不重複值,以及該 City 值的 entries 資料欄中的非空值數量。limit 參數會定義輸出資料欄的數量上限。

語法

pivot value:COUNTAIF(col_ref, test_expression) [group:group_col_ref] [limit:limit_count]

引數是否必要?資料類型說明
col_ref字串參照您要求取值的資料欄。
test_expression字串用來求取值的運算式,必須解析為 truefalse

如要進一步瞭解語法標準,請參閱語言文件語法附註

若要進一步瞭解 group 參數,請參閱 Pivot 轉換

col_ref

您在計算時要使用的來源值資料欄名稱,資料欄必須為數字類型 (整數或小數)。

使用須知:

是否必要?資料類型範例值
對應至資料欄名稱的字串myValues

test_expression

這個參數含有用來求取值的運算式。這個運算式必須解析為布林值 (truefalse)。

使用須知:

是否必要?資料類型範例值
得出的結果值為 truefalse 的字串運算式(LastName == 'Mouse' && FirstName == 'Mickey')

範例

範例 - COUNTIF 函式

本節提供 COUNTIFCOUNTIFA 函式的簡易使用範例。這兩種函式的作用如下:

  • COUNTIF:計算群組中符合特定條件的值的數量,詳情請參閱 COUNTIF 函式
  • COUNTAIF:計算群組中符合特定條件的非空值的數量,詳情請參閱 COUNTAIF 函式

來源:

以下為每位銷售人員某一週的銷售量資料:

EmployeeIdDateSales
S0011/23/1725
S0021/23/1740
S0031/23/1748
S0011/24/1781
S0021/24/1711
S0031/24/1725
S0011/25/179
S0021/25/1740
S0031/25/17
S0011/26/1777
S0021/26/1783
S0031/26/17
S0011/27/1717
S0021/27/1771
S0031/27/1729
S0011/28/17
S0021/28/17
S0031/28/1714
S0011/29/172
S0021/29/177
S0031/29/1799

轉換:

您想要知道每位銷售人員當週銷售量低於 50 個單位的日期總數 (週末不計)。首先請執行下列指令:

pivot value:COUNTIF(Sales < 50) group:EmployeeId limit:1

不過,您注意到因員工請病假或休假而產生的空白值會列入計算。另外,這個步驟並未排除週末的資料,因此您必須使用 WEEKDAY 函式來識別週末:

derive type:single value:WEEKDAY(Date) as:'DayOfWeek'

如果 DayOfWeek > 5,則該日期為週末。您可以使用 COUNTAIF 函式來移除空值,藉此提高準確度:

pivot value:COUNTAIF(Sales, DayOfWeek<6) group:EmployeeId limit:1

上述指令會計算出 Sales 中非週末日期的非空值數,並依據個別員工將結果分組。


結果:

EmployeeIdcountaif_Sales
S0015
S0024
S0034

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁