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

摘要:
=表。RenameColumns当有许多列名需要更改时,您可以使用第二个参数生成一个列表以进行批量更改。您可以首先创建一个列名表,输入原始列名和新列名,然后将它们导入PQ。现在,您可以找到将此表转换为列表的方法,并将此列表用作table.RenameColumns的第二个参数。步骤1,调换列名表步骤2,将列名表更改为列表Insert步骤,=table.ToColumns(调换表)此查询变为此列表步骤3,批量更改列名在需要更改的查询表中,插入步骤,在编辑列中输入=Table.RenameColumns可以一次更改所有列名。

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

​今天分享一个PowerQuery的小技巧,导入到PowerBI中的数据,如果想要更改数据的列名,可以在PQ编辑器中直接双击列名,如果需要修改的列名比较多,还可以批量修改,利用这个M函数:Table.RenameColumns

其实双击更改列名也是利用这个函数,以下面这个数据为例,

数据可视化之PowerQuery篇(七)Power Query应用技巧:批量更改列名第1张

 

双击标题把“日期”更改为“订单日期”,在编辑栏就会看到这个M函数,

= Table.RenameColumns( 更改的类型, {{"日期", "订单日期"}})

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

Table.RenameColumns第一个参数是表名(“更改的类型”是上一个步骤名),第二个参数是由原列名和新列名组成的一个列表。如果更改两个列名,只需要第二个参数中增加一个子列表就行了。

= Table.RenameColumns( 更改的类型, {{"日期", "订单日期"},{"名称","商品名称"}})

当需要更改的列名比较多时,就可以利用第二个参数生成一个列表来批量更改。

可以先制作一个列名表,输入原列名和新列名并导入到PQ中,

数据可视化之PowerQuery篇(七)Power Query应用技巧:批量更改列名第2张

 

现在想办法把这个表变成一个list列表,并把这个列表作为 Table.RenameColumns的第二个参数就可以了。

第一步,转置列名表

数据可视化之PowerQuery篇(七)Power Query应用技巧:批量更改列名第3张

 

第二步,将列名表变为list列表

插入步骤,

= Table.ToColumns(转置表)

这个查询就变成了这个列表,

 

数据可视化之PowerQuery篇(七)Power Query应用技巧:批量更改列名第4张

 

第三步,批量更改列名

 

在需要更改的查询表中,插入步骤,编辑栏输入,

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

 

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

数据可视化之PowerQuery篇(七)Power Query应用技巧:批量更改列名第5张

 

 

如果原列名的列表中,含有表中不存在的列名,则会报错,为了避免出现这种情况,还可以使用第三个参数,MissingFiled.Ignore。

上面第三个步骤直接写为:

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

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

免责声明:文章转载自《数据可视化之PowerQuery篇(七)Power Query应用技巧:批量更改列名》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇InnoDB: The innodb_system data file 'ibdata1' must be writable错误Android_动态壁纸介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Qt 杂记——QTableWidget列表添加、删除(备份)

1.列表的添加 需求:向一个有两列的Table中添加一条数据 思路:新建一个inputDialog,通过按钮打开Qt自带的inputDialog,传递回输入的数据,再添加到列表中 界面: 代码: inputDialog.h   #ifndef INPUTDIALOG_H #define INPUTDIALOG_H #include <QDialog...

SparkSQL学习笔记

概述冠状病毒来临,宅在家中给国家做贡献之际,写一篇随笔记录SparkSQL的学习笔记,目的有二,一是记录整理之前的知识作为备忘录,二是分享技术,大家共同进步,有问题也希望大家不吝赐教。总体而言,大数据主要包含三种操作:长时间运行的批量数据处理;交互式运行的数据查询;实时数据流处理。sparkSQL特点:数据兼容,不仅兼容hive,还可以从rdd,parqu...

Unity多语言本地化改进版

简介 之前捣鼓过一个通过csv配置游戏多语言支持的小工具,但是发现使用过程中,通过notepad++去进行转码很不方便,并且直接将配置的csv不加密的放在游戏中心里感觉不是很踏实 于是乎~~ 新的方案 1.在PC/MAC平台上解析多语言配置,也就是editor运行环境中解析csv或者excel 2.通过在Editor运行过程中生成多个语言对象,然后序列化并...

elementUI 表格 table 的表头错乱问题

页面中多组件开发时,如果页面中有表格的,table表格头出现表头错乱 // 全局设置1body .el-table th.gutter{ 2 display: table-cell!important; 3 } 4 5 body .el-table colgroup.gutter{ 6 display: table-cell!impor...

[转]oracle在删除表表空间用户时,如何释放磁盘空间

一、drop表 执行drop table xx 语句 drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉。这样,回收站里的表信息就可以被恢复,或彻底清除。 通过查询回收站user_recyclebin获取被删除的表信息,然后使用语句 flashback table...

(转)HBase 常用Shell命令

转自:http://my.oschina.net/u/189445/blog/595232 hbase shell命令 描述 alter 修改列族(column family)模式 count 统计表中行的数量 create 创建表 describe 显示表相关的详细信息 delete 删除指定对象的值(可以为表,行,列对应的值,...