套用條件轉換

您可以在方案步驟中套用條件邏輯來決定是否應發生轉換變更。您可以在轉換作業中建立多個層級的邏輯測試:

  • 單一及多重 case 轉換:使用以 case 為基礎的轉換指令,對資料集執行 if-then 或 case 邏輯測試,以及套用指定的結果。
  • 條件函式:所有接受函式運算式的轉換作業均可套用 IF 及 CASE 函式。
  • 邏輯運算子:您可以使用 AND 或 OR 邏輯來建構條件運算式。

單一及多重 case 轉換

透過轉換製作工具,您可以使用 if/then/else 或 case 邏輯建構條件測試來操控資料。

  1. 在「轉換器」頁面的「搜尋」面板中,輸入 case
  2. 您可以選擇以下三種不同的邏輯轉換:
    1. If-then-else:指定任何會得出 truefalse 的邏輯測試,並指定結果為 true (then) 或 false (else) 時的值。
    2. 單一資料欄 case:測試資料欄是否有明確的值。如果結果為 true,則會將特定值寫入新資料欄。
    3. 自訂條件:指定不限數量的 case 陳述式,每個陳述式均有完整獨立的運算式:
      1. 如果 Case 1 完成測試後的結果為 true,將會寫入值。
      2. 如果 Case 1 為 false,系統會測試 Case 2。如果結果為 true,則可以寫入不同的值。
      3. 支援具有獨立條件的 case 陳述式,數量不限。
  3. 指定其他的參數,包括新資料欄的名稱。

將轉換新增至方案後,便能依據這個新資料欄的值採取動作。

條件函式

您也可以在其他轉換指令的函式定義中套用條件邏輯。

IF 函式

舉例來說,如果值大於 0.5,則下列指令會以 IN 取代同一個資料欄的值。若否,則以 OUT 取代:

轉換名稱 Edit column with formula
參數:資料欄 testCol
參數:公式 IF($col >= 0.5, 'IN','OUT')

在上述指令中,$col 符記為資料欄 (在這個範例中為 testCol) 所定義值的參照,不過您可以將它取代為資料集中任何資料欄的參照。

您可以在接受函式輸入的任何轉換指令中使用 IF 函式。詳情請參閱 IF 函式一文。

CASE 函式

您可以使用下列方法鏈結 IF 函式:
轉換名稱 Edit column with formula
參數:資料欄 testCol
參數:公式 IF($col >= 0.5, 'IN',(IF($col >= 0.35, 'MAYBE IN','OUT')))

但這會在偵錯時造成問題。您可以改用 CASE 函式來協助建立更複雜的邏輯樹狀結構。以下是較容易解讀和管理的指令:

轉換名稱 Edit column with formula
參數:資料欄 testCol
參數:公式 CASE([ $col >= 0.75, 'IN', $col >= 0.35, 'MAYBE IN', 'OUT'])
If 測試測試若為 true 則輸出
If:$col >= 0.75IN
若上述 If 結果為 false$col >= 0.35
MAYBE IN
若上述 If 結果為 false預設OUT

詳情請參閱 CASE 函式

邏輯運算子

您可以在函式運算式中套用邏輯運算子,以擴展邏輯測試的範圍。

在上述範例中,假設您有第二個名為 Paid 且包含布林值的資料欄,您可以擴展先前的陳述式以加入測試,檢查是否 Paid=true

轉換名稱 Edit column with formula
參數:資料欄 testCol
參數:公式 CASE([ ($col >= 0.75 && Paid == true), 'IN', ($col >= 0.35 && Paid == true), 'MAYBE IN', 'OUT'])

上述指令會對每個受測 case 中的兩個運算式執行邏輯 AND 運算,邏輯運算子為 &&

您也可以參照明確的函式執行邏輯測試。上述指令可以換成下列指令:

轉換名稱 Edit column with formula
參數:資料欄 testCol
參數:公式 CASE([ AND($col >= 0.75, Paid == true), 'IN', AND($col >= 0.35, Paid == true), 'MAYBE IN', 'OUT'])
邏輯邏輯運算子邏輯函式
邏輯 AND(exp1 && exp2)AND(exp1,exp2)
邏輯 OR(exp1 || exp2)OR(exp1,exp2)
邏輯 NOT!(exp1 == exp2)NOT(exp1,exp2)

視您的轉換結構及偏好而定,您可以使用任一形式。

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

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

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