数据可视化之PowerQuery篇Power Query应用技巧:批量更改列名

Posted qiu-hua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据可视化之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)

这样当出现列名不匹配的情况时,会自动跳过,而不会报错。

以上是关于数据可视化之PowerQuery篇Power Query应用技巧:批量更改列名的主要内容,如果未能解决你的问题,请参考以下文章

数据可视化之PowerQuery篇PowerQuery文本处理技巧:移除和提取

数据可视化之PowerQuery篇PowerQuery文本处理技巧:移除和提取

数据可视化之PowerQuery篇利用PowerQuery,进行更加灵活的数据分列

数据可视化之PowerQuery篇利用PowerQuery,进行更加灵活的数据分列

数据可视化之powerBI入门Power BI与PowerQueryPowerPivot有什么关系

数据可视化之PowerQuery篇PowerQuery技巧:批量合并Excel表的指定列