前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何在Power Query中批量添加自定义列

如何在Power Query中批量添加自定义列

作者头像
逍遥之
发布2020-03-24 16:06:54
发布2020-03-24 16:06:54
8.3K10
代码可运行
举报
文章被收录于专栏:数据技巧数据技巧
运行总次数:0
代码可运行

一般情况下,我们如果需要添加列,可以一列一列根据需要进行添加,那如果我们需要根据固定的需求进行批量添加,那如何操作呢?

原始表

结果表

我们在添加的列的时候,有2个主要参数,一个是标题,一个则是添加列里的内容,如果我们需要进行批量添加的话,这2个参数最好是作为变量进行循环填充。我们来看下如何操作吧。

首先我们要确定Table.AddColumn里的2个参数,这2个参数应该是批量的,那代表着应该是列表的格式。

我们通过记录的格式来作为参数组。

这样就把参数组归类在一起了,方便我们后面进行调用。之后就是进行循环操作了,我们来看下代码公式。

代码语言:javascript
代码运行次数:0
运行
复制
List.Accumulate({0..列数},
                源,
                (x,y)=>Table.AddColumn(x,
                          参数组[标题]{y},
                          each 参数组[内容]{y}
                                      )
                )

这里还需要解释几个内容:

1. 列数:需要增加多少列,就根据相应的填写。

2. x代表的是表格,也就是增加列后的表格名称,初始值是原始表格。

3. y代表的是第几次的循环,0代表第一次,同时也是作为参数组里的列对应值的位置。

4. each代表的是作为Table.AddColumn函数中所对应的。

这样我们就很很容易的可以进行批量进行所需要添加的列。

需要注意的几个地方:

1. 标题和内容必须匹配

也就是在参数组里的2个参数必须项目数一样(可以通过if语句在执行前进行判断)

2. 如果需要在添加列里使用公式,则函数参数设置成表类型。

因为在循环添加列时表是重复调用的,所以如果把表设置成函数的参数,方便后期循环调取使用。

我们以最简单的 [价格]*1.1这个公式为例。如果需要在添加列中使用这个公式,那我们可以设定自定义函数 (x)=>x[价格]*1.1,这样之后我们可以直接以表为参数进行替代。

此时我们的参数组里的内容则是函数类型。

在循环公式里,我们还需要注意两点,

  • 一个就是使用公式进行参数的调用。
  • each这里需要更改成其他方式书写。
  • 赋值常数和函数的书写方式批量也不一样

例如:

each 改成(a)=>格式,另外直接赋值常数和函数的书写方式也不一样,所以要进行判断区分。当然你也可以统一写成函数模式,直接调用。

例如:

如果要返回true,则可以直接使用公式(x)=>true,到时候直接使用参数调用的方式即可,不管参数是什么,返回的都是true。

如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 列数:需要增加多少列,就根据相应的填写。
  • 2. x代表的是表格,也就是增加列后的表格名称,初始值是原始表格。
  • 3. y代表的是第几次的循环,0代表第一次,同时也是作为参数组里的列对应值的位置。
  • 4. each代表的是作为Table.AddColumn函数中所对应的。
  • 需要注意的几个地方:
    • 1. 标题和内容必须匹配
    • 2. 如果需要在添加列里使用公式,则函数参数设置成表类型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档