範例 - STARTSWITH 和 ENDSWITH 函式

下列範例示範函式如何使用模式評估任何類型的開頭值與結尾值。包括:

  • STARTSWITH - 檢查指定資料欄開頭的值,對照特定的模式或常值。請參閱 STARTSWITH 函式一文。
  • ENDSWITH - 檢查指定資料欄結尾的值,對照特定的模式或常值。請參閱 ENDSWITH 函式一文。

來源:

以下庫存清單報告代表的是依照產品名稱排序的可用產品數量。您需要依據下列規則,確認產品名稱是否仍有效:

  • 產品名稱必須以三位數的品牌 ID 開頭,並在後面加上破折號。
  • 產品名稱必須以破折號結尾,並在後面加上六位數的 SKU。

來源資料如下所示,而「驗證」資料欄中沒有任何值。

InvDateProductNameQtyValidation
04/21/2017412-Widgets-01234523
04/21/201704-Fidgets-120341 66
04/21/2017204-Midgets-442131
04/21/2017593-Gidgets-40201224

轉換:

在這個例子中,必須要以兩種條件求得 ProductName 資料欄的值。兩種條件函式如下所示:

IF(STARTSWITH(ProductName, `#{3}-`), 'Ok', 'Bad ProductName-Brand')

IF(ENDSWITH(ProductName, `-#{6}`), 'Ok', 'Bad ProductName-SKU')

一種方式是使用 derive 轉換建立兩個新的測試資料欄,再依據這兩個資料欄求得的值使用 set 轉換。不過如果使用下列指令,就不用建立中繼的資料欄,以一個步驟即可完成求值:

set col: Status value: IF(STARTSWITH(ProductName, `#{3}-`), IF(ENDSWITH(ProductName, `-#{6}`), 'Ok', 'Bad ProductName-SKU'), 'Bad ProductName-Brand')

結果:

InvDateProductNameQtyValidation
04/21/2017412-Widgets-01234523Ok
04/21/201704-Fidgets-120341 66Bad ProductName-Brand
04/21/2017204-Midgets-442131Bad ProductName-SKU
04/21/2017593-Gidgets-40201224Ok
本頁內容對您是否有任何幫助?請提供意見:

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

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