範例 - Settype 轉換

本範例說明如何清理本質上被解譯為數字,但實際上應為是字串或結構化字串類型的資料 (例如性別)。本範例使用:

  • settype:定義一或多個資料欄的資料類型,請參閱 Settype 轉換

  • merge:合併兩個字串類型資料欄,請參閱 Merge 轉換

來源:

下列範例中的兩個資料欄分別含有客戶 ID 和郵遞區號資訊。將這筆資料載入轉換頁面時,由於所含的內容均為數字,系統會將資料解譯為數字類型。

只有四位數的 ZipCode 值實際上應為五位數,前面需要加上 0

CustIdZipCode
40201231234
201212194105
321201294101
13012122020

轉換:

CustId 資料欄:這個資料欄的類型必須重新設為字串值。您可以透過資料欄的下拉式選單將資料欄資料類型設定為「字串」,呈現出的轉換指令如下:

settype col:CustId type:'String'

雖然資料欄現在是「字串」類型,但日後進行轉換時,系統仍可能再次將資料欄推測為整數值。如要避免發生這類情形,您可以在字串前方加上標記,不過在執行轉換前應先移除此標記。

基本方法為先建立含有客戶 ID 標記 (C) 的新資料欄,然後將這個資料欄與現有的 CustId 資料欄合併在一起。如果客戶 ID 為數字值且可能與其他數值搞混時,在前面加上這類的指標會非常有幫助。此外,這個合併步驟也會強制系統將值解讀為字串值 (此類型更適合用於 ID)。

merge col:'C', CustId

您現在可以刪除 CustId 資料欄,並將新資料欄重新命名為 CustId

ZipCode 資料欄:這個資料欄必須轉換成有效的郵遞區號值。為方便使用,這個資料欄的類型應為「字串」:

settype col:ZipCode type:'Zipcode'

如果任一資料列中的值長度為四位數,則下列轉換指令會變更 ZipCode 資料欄中的值。新值為原始值前面加上數字 0

set col: ZipCode value: if(len($col) == 4, merge(['0',$col]), $col)

這個資料欄現在可重設為「郵遞區號」類型。

結果:

CustIdZipCode
C402012301234
C201212194105
C321201294101
C130121202020

請記得從 CustId 資料欄移除 C 標記。在 CustId 資料欄中選取 C 值,然後選擇 replace 轉換。您可能需要將清理完畢的資料重設為字串資料類型。

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

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

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