ENDSWITH 函式

如果最右側的一組資料欄值字元和模式相符,會傳回 true。來源值可以是任何資料類型,模式則可以是 Cloud Dataprep 模式、規則運算式或字串。
  • ENDSWITH 函式相當適合用來根據模式比對所有資料類型。如果需要使用固定數量的字元來比對字串,則請改用 RIGHT 函式。請參閱 RIGHT 函式一文。
  • 請參閱 STARTSWITH 函式一文。

基本用法

字串常值範例:

derive type:single value:ENDSWITH(tweets,'?') as:'hasQuestion'

輸出:tweets 資料欄值的最後字母是「?」時,系統在新 hasQuestion 資料欄寫入 true

Cloud Dataprep 模式範例:

derive type:single value:ENDSWITH(tweets,`{hashtag}{1,9}`) as:'hasHashtag'

輸出:tweets 資料欄以 1 至 9 主題標記值結尾時,會產生包含 truehasHashtag 資料欄,否則 hasHashtag 資料欄會設為 false

規則運算式模式範例:

set col:Status value:IF(ENDSWITH,myNum,/([01][0-9][0-9]|2[0-4][0-9]|25[0-5])/),'myNum - valid','myNum - error')

輸出:myNum 資料欄是以 0 至 255 之間的值結尾時,會將 Status 資料欄值設為 myNum - valid,否則 Status 資料欄會設為 myNum - error

語法

derive type:single value:ENDSWITH(column_any,pattern)

引數是否必要?資料類型說明
column_any不限待套用至函式的資料欄名稱
pattern字串以字串呈現的模式或常值,用以描述要配合的模式。

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

column_any

待搜尋的資料欄名稱。

  • 不支援使用多個資料欄和萬用字元。

使用須知:

是否必要?資料類型範例值
資料欄參照myColumn

pattern

可在指定的資料欄值中找到的 Cloud Dataprep 模式、規則運算式或字串常值。

使用須知:

是否必要?資料類型範例值
字串`{zip}`

範例

範例 - 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 說明文件
需要協助嗎?請前往我們的支援網頁