前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Power Query中批量修改标题?

如何在Power Query中批量修改标题?

作者头像
逍遥之
发布2020-03-24 15:40:57
2.6K0
发布2020-03-24 15:40:57
举报
文章被收录于专栏:数据技巧

源数据(表1)

需要更改的列名清单(表2)

最终的效果

(一) 首先我们来分析下思路。

如果要更换标题需要涉及到的函数是Table.RenameColumns;获取标题的函数Table.ColumnNames。

(二) 函数的定义及说明

Table.RenameColumns(table as table, renames as list, optional missingField as nullable number) as table

位置

参数

说明

第1参数

Table

需要操作的表

第2参数

List

新旧2个标题组成的列

可选第3函数

Nullable number

找不到标题是的处理方式。0代表错误,1代表返回原表,2代表返回空值

例:

1. 修改单个标题

在表1里直接输入公式

代码语言:javascript
复制
=Table.RenameColumns(源,{"列1","姓名"})

返回结果:

2. 修改多个标题

在表1里直接输入公式

代码语言:javascript
复制
=Table.RenameColumns(源,{{"列1","姓名"},{"列2","学科"},{"列3","教师"}})

返回结果:

3. 通过指定列进行修改

上面的操作,都是我们手动一个一个输入进行更改的,那如果根据指定列的数据进行批量修改标题呢? 标题的更改主要在第2参数,如果是多列标题的更改,格式是{{"",""},{"",""}},也就是列中套列,里面的每一个小列代表的是每个标题的替换依据,前一个引号里的文本是原标题,后一个引号里的文本是新标题。那我们就需要生成这样一个数据格式的内容。 也就是一个是原表的标题列表,一个是新标题的列表,然后组成函数参数所需要的格式。 新旧2个标题的列表我们都能比较简单的获取到。那就是格式的编排问题了,格式可以解释为{{旧标题第1个数据,新标题的第1个数据},{旧标题的第2个数据,新标题的第2个数据}}

代码语言:javascript
复制
旧标题= Table.ColumnNames(源)
新标题= 表2[标题]
第2参数= List.Transform({0..2}, each List.Combine({{旧标题{_}},{新标题{_}}}))
更改标题= Table.RenameColumns(源,第2参数)

在第2参数这里{0..2}代表有3个列,当然这个参数我们也可以通过函数自动获取。例如Table.ColumnCount(源)函数获取标题的数量,但是这里注意在使用到参数的时候要减去1。

代码语言:javascript
复制
第2参数= List.Transform({0..Table.ColumnCount(源)-1}, each List.Combine({{旧标题{_}},{新标题{_}}}))

如果觉得不错,请点赞转发下。

请点个赞,转发分享给更多的人。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据技巧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (一) 首先我们来分析下思路。
  • (二) 函数的定义及说明
  • 例:
    • 1. 修改单个标题
      • 2. 修改多个标题
        • 3. 通过指定列进行修改
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档