美文网首页
如何在Power Query中批量添加自定义列

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

作者: Data_Skill | 来源:发表于2019-12-05 07:54 被阅读0次

    如何批量添加列

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

    原始表

    结果表

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

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

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

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

    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这里需要更改成其他方式书写。
    • 赋值常数和函数的书写方式也不一样

    例如:

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

    例如:

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

    相关文章

      网友评论

          本文标题:如何在Power Query中批量添加自定义列

          本文链接:https://www.haomeiwen.com/subject/snefictx.html