SUMIF 函式

產生每個群組符合特定條件的資料列總和。

注意:將這個函式加入轉換時,系統會將該函式套用到資料網格中的樣本。如果您變更樣本或執行工作,這個函式所計算出來的值也會同步更新。在後續的方案步驟中,變更資料列數量的轉換並不會影響這個步驟計算出的值。

如要執行沒有條件的資料列單純加總,請使用 SUM 函式。詳情請參閱 SUM 函式

基本用法

pivot value: SUMIF(timeoutSecs, errors >= 1) group:serverAddress limit:1

輸出:errors 值大於或等於 1 時,產生由兩個資料欄組成的資料表,其中包含 serverAddress 的不重複值,以及該 serverAddress 值的 timeoutSecs 資料欄加總。limit 參數可定義輸出資料欄的數量上限。

語法

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

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

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

如要進一步瞭解 grouplimit 參數,請參閱 Pivot 轉換

col_ref

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

使用須知:

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

test_expression

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

使用須知:

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

範例

範例 - 加總選民登記資料

本範例說明何使用下列條件計算函式來分析投票資料:

  • SUMIF:符合指定條件的一組值的加總,加總結果按群組分組。請參閱 SUMIF 函式一文。
  • COUNTDISTINCTIF:符合指定條件的一組值的加總,加總結果按群組分組。請參閱 COUNTDISTINCTIF 函式一文。

來源:

以下範例為 4 個地區 8 個城市 16 個選區中,選民在投票所因登記無效而無法投票的投票資料。先前發生過此問題的選區已加入觀察清單 (precinctWatchList)。

totalReginvalidRegprecinctWatchListprecinctIdcityIdcountyId
73124y111
74329y211
8740 321
9830 421
62229 532
6930 632
77537y742
102549y842
78713 953
3420 1053
34239y1163
38728y1263
58259 1374
2440 1474
9406y1584
9014y1684

轉換:

首先,您想要依城市來加總無效登記的數量 (invalidReg):

derive type:single value:SUMIF(invalidReg, precinctWatchList == "y") group:cityId as:'invalidRegbyCityId'

invalidRegbyCityId 資料欄含有全市的無效登記數量。現在您打算在地區的層級,識別出在觀察清單上屬於全市登記問題的選區數量。這個步驟會執行匯總作業:

pivot value:COUNTDISTINCTIF(precinctId, invalidRegbyCityId > 60) group:countyId limit:1

結果:

countyIdcountdistinctif_precinctId
10
22
32
40

負責第 2 地區與第 3 地區投票事宜的官員應調查他們選區發生的登記問題。

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

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

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