浏览量:126次
源数据(表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里直接输入公式
=Table.RenameColumns(源,{"列1","姓名"})返回结果:
2. 修改多个标题
在表1里直接输入公式
=Table.RenameColumns(源,{{"列1","姓名"},{"列2","学科"},{"列3","教师"}})返回结果:
3. 通过指定列进行修改
上面的操作,都是我们手动一个一个输入进行更改的,那如果根据指定列的数据进行批量修改标题呢?
标题的更改主要在第2参数,如果是多列标题的更改,格式是{{"",""},{"",""}},也就是列中套列,里面的每一个小列代表的是每个标题的替换依据,前一个引号里的文本是原标题,后一个引号里的文本是新标题。那我们就需要生成这样一个数据格式的内容。
也就是一个是原表的标题列表,一个是新标题的列表,然后组成函数参数所需要的格式。
新旧2个标题的列表我们都能比较简单的获取到。那就是格式的编排问题了,格式可以解释为{{旧标题第1个数据,新标题的第1个数据},{旧标题的第2个数据,新标题的第2个数据}}
旧标题=Table.ColumnNames(源)新标题=表2[标题]第2参数=List.Transform({0..2},eachList.Combine({{旧标题{_}},{新标题{_}}}))更改标题=Table.RenameColumns(源,第2参数)在第2参数这里{0..2}代表有3个列,当然这个参数我们也可以通过函数自动获取。例如Table.ColumnCount(源)函数获取标题的数量,但是这里注意在使用到参数的时候要减去1。
第2参数=List.Transform({0..Table.ColumnCount(源)-1},eachList.Combine({{旧标题{_}},{新标题{_}}}))如果觉得不错,请点赞转发下。
请点个赞,转发分享给更多的人。
[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【779898168@qq.com】,我们在确认后,会立即删除,保证您的版权。