分享一個PowerQuery應用小技巧,導入到Power BI中的數據,如果想要更改數據的列名,可以在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
)
這樣當出現列名不匹配的情況時,會自動跳過,而不會報錯。
-精彩推薦-
採悟 from PowerBI星球