數據可視化之PowerQuery篇(七)Power Query應用技巧:批量更改列名


https://zhuanlan.zhihu.com/p/130460772

​今天分享一個PowerQuery的小技巧,導入到PowerBI中的數據,如果想要更改數據的列名,可以在PQ編輯器中直接雙擊列名,如果需要修改的列名比較多,還可以批量修改,利用這個M函數:Table.RenameColumns

其實雙擊更改列名也是利用這個函數,以下面這個數據為例,

 

雙擊標題把“日期”更改為“訂單日期”,在編輯欄就會看到這個M函數,

= Table.RenameColumns( 更改的類型, {{"日期", "訂單日期"}})

這就是界面操作更改列名功能背后的M代碼。

Table.RenameColumns第一個參數是表名(“更改的類型”是上一個步驟名),第二個參數是由原列名和新列名組成的一個列表。如果更改兩個列名,只需要第二個參數中增加一個子列表就行了。

= Table.RenameColumns( 更改的類型, {{"日期", "訂單日期"},{"名稱","商品名稱"}})

當需要更改的列名比較多時,就可以利用第二個參數生成一個列表來批量更改。

可以先制作一個列名表,輸入原列名和新列名並導入到PQ中,

 

現在想辦法把這個表變成一個list列表,並把這個列表作為 Table.RenameColumns的第二個參數就可以了。

第一步,轉置列名表

 

第二步,將列名表變為list列表

插入步驟,

= Table.ToColumns(轉置表)

這個查詢就變成了這個列表,

 

 

第三步,批量更改列名

 

在需要更改的查詢表中,插入步驟,編輯欄輸入,

= Table.RenameColumns( 更改的類型,列名)

 

就可以一次性更改完所有的列名了。

 

 

如果原列名的列表中,含有表中不存在的列名,則會報錯,為了避免出現這種情況,還可以使用第三個參數,MissingFiled.Ignore。

上面第三個步驟直接寫為:

= Table.RenameColumns( 更改的類型, 列名, MissingField.Ignore)

這樣當出現列名不匹配的情況時,會自動跳過,而不會報錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM