KTHLARGESTIF 函式

當指定條件滿足時,函式會從資料欄的值擷取排名值,其中 k=1 傳回最大值。k 的值必須介於 1 到 1000 之間 (含首尾)。

KTHLARGESTIF 計算作業會透過套用至群組的條件進行篩選。

為便於進行本次計算,具有相同值的兩個例項將視為單獨的值。因此,假如您的資料集包含 1099 資料欄值的三個資料列,則 KTHLARGEST 會為 k=2k=3 傳回 9

輸入資料欄可以是整數或小數類型。系統會忽略資料欄中的非數字資料。如果資料列含有遺漏值或空值,則不會列入計算。

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

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

基本用法

pivot value: KTHLARGESTIF(POS_Sales, 1, DayOfWeek == 'Saturday') group:storeNbr limit:1

輸出:DayOfWeek 的值為 Saturday 時,產生有兩個資料欄的資料表,其中分別包含 storeNbr 的不重複值,以及每一個 storeNbrPOS_Sales 資料欄的最大值 (rank=1)。limit 參數會定義輸出資料欄的數量上限。

語法

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

引數是否必要?資料類型說明
col_ref字串為您要求取值的資料欄提供來源資料。
k_integer整數別要從來源資料欄中擷取出來的值排名
test_expression字串用來求取值的運算式,必須解析為 truefalse

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

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

col_ref

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

使用須知:

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

k_integer

為整數,表示從來源資料欄中擷取出來的值排名。

附註:k 的值必須是介於 1 到 1,000 (含首尾) 之間的整數。

  • k=1 代表資料欄的最大值。
  • 如果 k 大於或等於資料欄中的值數目,則會傳回最小值。
  • 遺漏值或空值不會列為 k 範圍的計算因子。

test_expression

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

使用須知:

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

範例

範例:特定城市的第二大測量值

這個範例說明如何在方案中使用條件式排名函式 KTHLARGESTIF

來源:

以下是部分氣象資料示例:

datecityrain_cmtemp_Cwind_mph
1/23/17Valleyville0.0012.86.7
1/23/17Center Town0.319.45.3
1/23/17Magic Mountain0.000.07.3
1/24/17Valleyville0.2517.23.3
1/24/17Center Town0.541.17.6
1/24/17Magic Mountain0.325.08.8
1/25/17Valleyville0.023.36.8
1/25/17Center Town0.833.35.1
1/25/17Magic Mountain0.59-1.76.4
1/26/17Valleyville1.0815.04.2
1/26/17Center Town0.966.17.6
1/26/17Magic Mountain0.77-3.93.0
1/27/17Valleyville1.007.22.8
1/27/17Center Town1.3220.00.2
1/27/17Magic Mountain0.775.65.2
1/28/17Valleyville0.12-6.15.1
1/28/17Center Town0.145.04.9
1/28/17Magic Mountain1.501.10.4
1/29/17Valleyville0.3613.37.3
1/29/17Center Town0.756.19.0
1/29/17Magic Mountain0.603.36.0


轉換:

在此案例中,您想找出 Center Town 當週排名第二的雨量、溫度和風速資料。

pivot value:KTHLARGESTIF(rain_cm,2,city == 'Center Town') limit:1

您可以在預覽畫面中看到值為 1.32。在將這個值新增到方案中之前,您可以將步驟改為下列指令:

pivot value:KTHLARGESTIF(temp_C,2,city == 'Center Town') limit:1

值為 20。針對風速,您可以依如下的方式修改:

pivot value:KTHLARGESTIF(wind_mph,2,city == 'Center Town') limit:1

結果:

您可以選擇新增上述任一步驟來產生匯總結果,或是使用 derive 轉換指令,在新的資料欄中插入這類計算結果。

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

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

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