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

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

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

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

原始表

结果表

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

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
1 条评论
热度
最新
“首先我们要确定Table.AddColumn里的2个参数,这2个参数应该是批量的,那代表着应该是列表的格式。我们通过记录的格式来作为参数组。” 怎么作为参数组?步骤为什么要跳过去?为什么不一步一步来?不会写文章,就不要写了,浪费别人时间。
“首先我们要确定Table.AddColumn里的2个参数,这2个参数应该是批量的,那代表着应该是列表的格式。我们通过记录的格式来作为参数组。” 怎么作为参数组?步骤为什么要跳过去?为什么不一步一步来?不会写文章,就不要写了,浪费别人时间。
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
如何使用Power BI对2019互联网趋势报告进行进一步的分析?——人口预测篇
按照目前的国家人口及增长率,我们来展望下2020-2040年的世界人口数。(因为负增长及一些国家的增长率数据为0,所以数据可能不怎么正确。)我们主要是展示分析过程及技巧为主。
逍遥之
2020/03/24
8720
如何使用Power BI对2019互联网趋势报告进行进一步的分析?——人口预测篇
Power Query 系列 (13) - 自定义函数
以工资类所得应交个税为例,最新的个税起征点为 5000 并按下表的级次进行缴税(假设没有其它扣除项)。
StoneWM
2021/03/25
1.8K0
each和(x),90%的人都感困惑的知识难点! | PQ重点突破
前段时间,有朋友在群里问,Power Query最难的函数是什么?有的说是List.Accumulate,有的说是List.Generate……
大海Power
2022/11/07
9610
each和(x),90%的人都感困惑的知识难点! | PQ重点突破
一次深刻的学习之旅:Power Query中真有循环吗?从获取GUID说起
也就是说,“得益于”pq强大的引擎,Text.NewGuid()只运行了一次,的确非常节省算力。
陈学谦
2021/12/15
1.3K0
一次深刻的学习之旅:Power Query中真有循环吗?从获取GUID说起
Power Query 系列 (07) - 添加列
前面几篇博客介绍了 Power Query (简称 PQ) 的数据源和 M 语言的基础知识,现在开始进入数据处理部分。本篇接着介绍 如何在 PQ 中添加列。添加列是很重要的一个操作,在 PQ 的查询编辑器界面,有一个专门【添加列】功能区。在讲解添加列的过程中,我们会逐步介绍一些相关知识点和 PQ 的操作细节。
StoneWM
2021/03/25
2.7K0
Power Query中如何把多列数据合并?升级篇
之前我们了解到了如何把2列数据进行合并的基本操作,Power Query中如何把多列数据合并?也就是把多个字段进行组合并转成表。那如果这类的数据很多,如何批量转换呢?我们需要把转换的这一部分做成循环的函数即可。
逍遥之
2020/03/23
7.2K0
Power Query 系列 (12) - Power Query 结构化列应用案例
本篇数据处理来自一个实际处理数据的简化。下图中,假设左边是一个直观的 BOM 结构展示,数据在 Excel 中存储格式如中间部分所示:第一列为物料编码的级别,第二列为物料编码。数据处理任务:需要在 Excel 中增加一列输出物料编码上一级的物料编码(目标为黄色部分)。
StoneWM
2021/03/25
1.3K0
Power Query批量导入文件
在power query中使用如下代码,可以批量导入格式相同的文件,把文件放到文件夹即可
披头
2020/11/10
2.3K0
如何把多维数据转换成一维数据?
这样我们得到3个独立的表。因为返回的结果是list格式,所以我们还需要转成Table格式。
逍遥之
2020/03/24
2.7K0
如何把多维数据转换成一维数据?
Excel Power Query抓取多个网页数据并配合Power Pivot进行分析
本节内容使用Excel的Power Query和Power Pivot组件,抓取多个网页数据,进行清洗、建模和分析。 第一部分:从网页动态抓取数据 使用Power Query不仅可以获取本地的Excel文件数据,还可以获取网页数据。 本节介绍如何使用Power Query获取新浪网新浪体育频道的新浪直播室网页中的足球排行榜数据,主要获取列表中的全部赛季的球队数据,赛事主要获取前5项数据(前5项赛事的数据结构是相同的),如图所示。 网址: http://match.sports.sina.com.cn/fo
博文视点Broadview
2023/04/04
3.7K0
Excel Power Query抓取多个网页数据并配合Power Pivot进行分析
Power Query 系列 (15) - Table 和 List 转换应用案例
本文通过一个数据处理的案例,说明 table 和 list 相互转换在 Power Query (PQ) 数据处理中的作用。假设有下面的销售数据,需要按月份进行汇总,输出为右边的格式:
StoneWM
2021/03/25
2.3K0
Power Query 系列 (18) - 参数化查询
参数化查询增加了查询的灵活性。Power Query 可以设置和管理参数,同一工作簿下所有查询都可以使用。
StoneWM
2021/03/25
2.5K0
如何查找关键词对应的归属?
上期我们讲到过一个批量列表更名,网友西瓜提出一个更便捷的写法,如果是对整个表格重新编写名字的话,更为方便。
逍遥之
2020/03/24
6920
如何查找关键词对应的归属?
如何对不同行,同列名进行多维转一维?
这里留个疑问,因为目前来看,列名都是一一对应的,如果列名不一致的话,如何进行处理呢?可以先行试着操作下。
逍遥之
2020/03/24
1.2K0
如何对不同行,同列名进行多维转一维?
Power Query 系列 (08) - 行转列案例
行转列是一种常见的数据处理操作,所以对如何在 SQL 语句中、如何在 pandas 中实现这种行转列做过一些总结。请参考我之前写的博文:
StoneWM
2021/03/25
1.2K0
Power Query中进行批量值的替换
例:我们有一个数据表格,里面有一列我们需要根据指定数据进行批量转换。 数据表 替换表 最终的效果 (一) 分析可能需要使用的函数 先把涉及到替换的函数列一下 Table.ReplaceValue, T
逍遥之
2020/03/24
5K0
Power Query中进行批量值的替换
如何在Power Query中批量修改标题?
如果要更换标题需要涉及到的函数是Table.RenameColumns;获取标题的函数Table.ColumnNames。
逍遥之
2020/03/24
2.9K0
如何在Power Query中批量修改标题?
Power BI创建日期表的几种方式概览
几乎所有的报表模型都涉及到日期和时间,因此要创建Power BI报表,日期表就必须得有。虽然最新的Power BI版本已经可以自动为每一个时间列创建日期表。
陈学谦
2020/04/14
6.6K0
Power BI创建日期表的几种方式概览
史上最速解决:Power BI由"按列排序"导致的"循环依赖"
当我们在处理这样的数据时,想要进行排列时,会发现它并没有按照我们预想的按照1……9,10,11,12……这样的排序:
陈学谦
2021/12/08
4.4K0
史上最速解决:Power BI由"按列排序"导致的"循环依赖"
Power Query中批量处理操作(4)
这篇依旧是List.Accumulate的函数应用详解。但是第2参数是作为列表格式使用。
逍遥之
2020/03/23
7050
推荐阅读
相关推荐
如何使用Power BI对2019互联网趋势报告进行进一步的分析?——人口预测篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验