Valuestocols 轉換

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

針對資料欄中的每個不重複值,系統會建立不同的資料欄。對於來源資料欄中包含值的每個資料列,系統會在新資料欄中插入指標值。
  • 這個指標值可以是常值或是函式的輸出。
  • 如未產生指標值,則會寫入空值。

這個轉換指令是用來產生指標資料欄,可用於統計分析。

  • 它會評估所有儲存格資料值的獨有性,不會掃描物件或陣列資料中的個別元素。
  • 假如來源資料欄中的資料列包含遺漏值,系統會在新的 Empty 資料欄插入指標值。
  • 字串或模式的計數並不適合顯示在資料欄中。請參閱 Countpattern 轉換一文。

您可以視需要指定預設值,該值會套用至新資料欄中所有非指標值的儲存格。

注意:將此轉換指令套用至資料格線時,該指令只會識別目前樣本的不重複值。如果整個資料集內還有其他不重複值,則在整個資料集中執行轉換時,不會為它們建立新的資料欄。

基本用法

來源:

Data
Happy
Dog
Happy Happy Dog

轉換:

valuestocols col:Data value:'X'

結果:

DataHappyDogHappy_Happy_Dog
HappyX
Dog X
Happy Happy Dog X

參數

valuestocols col:column_ref value:(expression) default:(expression) [limit:int_num]

符記是否必要?資料類型說明
values tocols轉換轉換名稱
col字串來源資料欄名稱
value字串用於定義值的字串常值、資料欄或函式呼叫,該值會在任何新產生的資料欄中做為指標值
default字串用於定義值的字串常值、資料欄或函式呼叫,該值會在任何新產生的資料欄中用於表示錯誤比對
limit整數 (正數)可產生的資料欄數上限,預設值為 50

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

col

找出要套用轉換指令的資料欄 (只能指定一個資料欄)。

使用須知:

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

value

針對 valuestocols 轉換,此參數指定要在產生的資料欄的每個資料列中插入的值,其中產生的資料欄名稱會出現在來源資料欄的同一資料列。這個值可以是字串常值、資料欄參照或函式。

使用須知:

是否必要?資料類型
字串常值、資料欄參照或函式

default

此參數也可以用來指定要在產生的資料欄的每個資料列中插入的值,其中產生的資料欄名稱不會出現在來源資料欄的同一資料列。這個值可以是字串常值、資料欄參照或函式。

如果未指定這個參數,則會插入尚未輸入值。

使用須知:

是否必要?資料類型
字串常值、資料欄參照或函式

limit

從來源資料欄偵測的不重複值,limit 參數會定義要建立的資料欄數量上限。如未指定,則上限為 50

注意:請小心謹慎,不要將參數設得太高。在某些情況下,應用程式可能會在產生結果時耗盡記憶體,導致轉換失敗。

使用須知:

是否必要?資料類型
否,預設值為 50整數 (正數)

範例

範例:基本 Valuestocols 轉換

來源:

針對三名同時加入公司的員工,此資料集包含其入職待完成項目。這些待完成項目是以個別項目的方式按日期記錄和整理,因此要確認每個員工是否已核取劃除所有五個待完成項目並不容易:

  • Orientation

  • Contact Info

  • Acquire Computer

  • HR Policies Training

  • Product Training

DateNameonboardingChecklist
4/4/16Bowie KuhnOrientation
4/4/16Happy ChandlerContact Info
4/4/16Bowie KuhnContact Info
4/4/16Bowie KuhnAcquire Computer
4/4/16Bud SeligProduct Training
4/4/16Bud SeligOrientation
4/5/16Happy ChandlerHR Policies Training
4/5/16Happy ChandlerOrientation
4/5/16Happy ChandlerAcquire Computer
4/5/16Bowie KuhnHR Policies Training
4/5/16Bud SeligHR Policies Training
4/5/16Bud SeligContact Info
4/6/16Happy ChandlerProduct Training

轉換:

下列轉換指令為 onboardingChecklist 資料欄的每個值建立了資料欄,並且在資料列有相符項目時加上 yes 這個值:

valuestocols col: onboardingChecklist value:'yes'

結果:

在產生的資料欄中,您可以快速評估所有三名員工是否已完成個人入職項目:

  • Bud Selig 還沒拿到電腦。
  • Bowie Kuhn 尚未完成產品訓練。
DateNameonboardingChecklistOrientationContact_InfoAcquire_Computer Product_TrainingHR_Policies_Training
4/4/16Bowie KuhnOrientationyes
4/4/16Happy ChandlerContact Info yes
4/4/16Bowie KuhnContact Info yes
4/4/16Bowie KuhnAcquire Computer yes
4/4/16Bud SeligProduct Training yes
4/4/16Bud SeligOrientationyes
4/5/16Happy ChandlerHR Policies Training yes
4/5/16Happy ChandlerOrientationyes
4/5/16Happy ChandlerAcquire Computer yes
4/5/16Bowie KuhnHR Policies Training yes
4/5/16Bud SeligHR Policies Training yes
4/5/16Bud SeligContact Info yes
4/6/16Happy ChandlerProduct Training yes

範例:雜誌訂閱

此範例示範如何使用下列轉換指令,建立資料欄的交互參照:

  • flatten:將陣列中的值整併成資料集的個別資料列。請參閱 Flatten 轉換一文。
  • valuestocols:將不重複的值例項擷取到個別資料欄,並在出現不重複值的每一列中加入指標。請參閱 Valuestocols 轉換一文。

來源:

以下為個別客戶的雜誌訂閱資料。訂閱資料是以值的陣列儲存。您想知道每一種雜誌的訂閱客戶是誰。

CustIdSubscriptions
Anne Aimes["Little House and Garden","Sporty Pants","Life on the Range"]
Barry Barnes["Sporty Pants","Investing Smart"]
Cindy Compton["Cakes n Pies","Powerlifting Plus","Running Days"]
Darryl Diaz["Investing Smart","Cakes n Pies"]

轉換:

將此資料載入「轉換」頁面時,您可能需要將 header 套用於此資料。如果資料採用 CSV 格式,您可能需要套用一些 replace 轉換指令來清理 Subscriptions 資料欄,以便能如上述範例所示。

Subscriptions 資料欄含有乾淨格式的陣列時,資料欄的類型會重設為陣列類型。您可以接著套用 flatten 轉換指令:

flatten col:Subscriptions

系統現在會將每個 CustId/Subscription 組合寫入個別資料列。您可以使用這個新的資料結構來細分雜誌訂閱資料的例項。您可以使用下列轉換指令,在資料欄中新增對應的 CustId 值:

valuestocols col:Subscriptions value:CustId

Delete the two source columns:

drop col:CustId,Subscriptions

結果:

Little_House_and_GardenSporty_PantsLife_on_the_RangeInvesting_SmartCakes_n_PiesPowerlifting_PlusRunning_Days
Anne Aimes
Anne Aimes
Anne Aimes
Barry Barnes
Barry Barnes
Cindy Compton
Cindy Compton
Cindy Compton
Darryl Diaz
Darry Diaz

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

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

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