Rename 轉換

注意:轉換屬於基礎程式語言的一部分,使用者無法直接存取。本篇文章的內容僅供參考。

依據指定的名稱、模式、資料列值,或前置與後置字串,重新命名一或多個資料欄。

注意:資料欄名稱不區分大小寫,並且不能以空格為開頭。

提示:為了防止下游系統可能發生的問題,您應限制資料欄長度不得超過 128 個字元。

其他重新命名的方法:

  • 透過使用者介面重新命名資料欄會比較容易。
    • 如要重新命名單個資料欄,請按兩下該資料欄名稱或從資料欄下拉式選單中選取 [重新命名...]
    • 如要重新命名多個資料欄,您可以在資料欄瀏覽器中選取值,然後執行批次重新命名。請參閱重新命名資料欄
  • 產生新資料欄的轉換可能會支援 as 參數,此參數可讓您指定新資料欄的名稱。使用 as 參數可以避免資料欄產生後執行新增 rename 轉換的額外步驟。

基本用法

重新命名單個資料欄:

rename mapping: [oldName,'NewName']

輸出:將資料欄 OldName 重新命名為 NewName

重新命名多個資料欄:

這個轉換支援在單一步驟中重新命名兩個以上資料欄的多種方法。請查看以下範例。

參數

rename: col: column_ref [prefix: 'strPrefix'] [suffix: 'strSuffix'] [mapping: [column1,'newColumn1Name'], [column2,'newColumn2Name']] [on: `patternOrLiteral`] [with: 'replacementString'] [sourceRowNumber: intRowNum]

符記是否必要?資料類型說明
rename轉換轉換名稱
col字串一或多個要重新命名的資料欄名稱
prefix字串(批次資料欄) 附加在資料欄名稱前面的前置字串
suffix字串(批次資料欄) 附加在資料欄名稱後面的後置字串
mapping陣列(批次資料欄) 含有從舊資料欄名稱到新資料欄名稱對應的陣列
on字串(批次資料欄) 用來搜尋每個資料欄名稱的模式和字串常值
with字串(批次資料欄) 替換項目值,用來取代在資料欄名稱中找到的模式或字串常值
sourcerownumber整數(批次資料欄) 來源資料中的資料列編號,該資料列所含的值要作為已選取資料欄的新名稱

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

col

識別要套用轉換的一或多個資料欄。

注意:若要將一或多個資料欄重新命名為明確名稱,請改用 mapping 參數指定來源和目標資料欄。

使用須知:

是否必要?資料類型
字串 (資料欄名稱)

prefix

若要使用前置字串執行批次重新命名,此參數指定顯示在每個資料欄名稱前面的字串值。

使用須知:

是否必要?資料類型
字串

suffix

若要使用後置字串執行批次重新命名,此參數指定附加在每個資料欄名稱後面的字串值。

使用須知:

是否必要?資料類型
字串

mapping

陣列,說明即將重新命名的每個資料欄的舊名稱和新名稱。

範例:

舊資料欄名稱新資料欄名稱
column1FirstName
column2
LastName
column3
Phone

轉換步驟:

rename mapping: [column1,'FirstName'],[column2,'LastName'],[column3,'Phone']

使用須知:

是否必要?資料類型
陣列

on

若要使用尋找與取代執行批次重新命名,此參數指定要用來比對值的模式或字串常值。

替換項目值是由 with 參數指定。

使用須知:

是否必要?資料類型
字串 (模式或常值)

with

若要使用尋找與取代執行批次重新命名,此參數指定要用來取代所找到模式的字串常值。

尋找模式與值是由 on 參數指定。

使用須知:

是否必要?資料類型
字串 (模式或常值)

sourcerownumber

原始來源資料中的資料列編號,系統會使用該資料列所含的值來重新命名資料集中所有資料欄。資料列會從原始位置中移除。

注意:如果已無法取得來源資料列編號資訊,就無法使用此方法來重新命名資料欄。

使用須知:

是否必要?資料類型
整數 (正數)

範例

重新命名資料欄

在下列資料集中,長度資料欄不含任何測量單位。

提示:為了方便下游使用,任何含有測量值的資料欄均應在資料欄名稱中併入測量單位。請勿在儲存格值中併入測量單位,這會將資料欄的資料類型強制重設為字串類型。

來源:

ObjectLengthXLengthYLengthZ
ObjA102030
ObjB345
ObjC6912

轉換:

或許您知道單位是公分。您可以使用下列指令重新命名:

rename mapping: [LengthX, 'LengthX_cm']

您現在想將測量單位轉換成英吋。您可以使用 derive 轉換指令來轉換值,並產生新的資料欄名稱:

derive type:single value: (LengthX_cm * 0.393701) as:'LengthX_in'

您可以使用類似下面的轉換指令,重新格式化產生的值,將結果四捨五入至兩個小數點:

set col:LengthX_in value:NUMFORMAT(LengthX_in, '##.00')

注意:set 轉換不支援 as 參數。

請對其他長度資料欄重複執行上述步驟。

結果:

ObjectLengthX_cmLengthY_cmLengthZ_cmLengthX_inLengthY_inLengthZ_in
ObjA1020303.947.8711.81
ObjB3451.181.571.97
ObjC69122.363.544.72

您可以在必要時刪除原始資料欄。

重新命名多個資料欄

來源:

column1column2column3column4column5
data1data2data3data4data5


轉換:

新增前置字串:

rename col: column1,column2,column3,column4,column5 prefix: 'new_'

new_column1new_column2new_column3new_column4new_column5
data1data2data3data4data5

新增後置字串:

rename col: new_column1,new_column2,new_column3,new_column4,new_column5 suffix: 'a'

new_column1anew_column2anew_column3anew_column4anew_column5a
data1data2data3data4data5

尋找與取代:

rename col: new_column1,new_column2,new_column3,new_column4,new_column5 on:'_column' with: 'Field'

new_Field1anew_Field2anew_Field3anew_Field4anew_Field5a
data1data2data3data4data5

手動重新命名:

rename mapping: [newField1a,'firstColumn'],[newField2a,'secondColumn']

firstColumnsecondColumnnew_Field3anew_Field4anew_Field5a
data1data2data3data4data5

使用資料列作為標頭:

rename sourcerownumber: 2

data1data2data3data4data5
data6data7data8data9data10

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

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

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