一般情况下,我们如果需要添加列,可以一列一列根据需要进行添加,那如果我们需要根据固定的需求进行批量添加,那如何操作呢? 原始表 结果表 我们在添加的列的时候,有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,这样之后我们可以直接以表为参数进行替代。 此时我们的参数组里的内容则是函数类型。 在循环公式里,我们还需要注意两点,
例如:
例如:
如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。 |
|
来自: 优雅野人 > 《power query》