power query学习笔记——合并数据
利用Power Query按条件合并文本
![利用Power Query按条件合并文本](https://img.taocdn.com/s3/m/05d607458bd63186bcebbc96.png)
利用Power Query按条件合并单元格中的文本如图1所示表格,左侧工作表是销售出库表,右边是根据左边表格生成的按单号合并的商品表,很显然,当单号存在多个“商品”对象时,这些文本需要合并到同一单元格中。
处理步骤如下:图1将光标停留在如图表格中任一单元格,然后单击【数据】选项卡下【从表格】,弹出【创建表】对话框,【表数据的来源】会自动选择整个工作表,默认勾选【表包含标题】,单击【确定】,如图2,进入Power Query 编辑器界面。
图2STEP01在Power Query 编辑器界面【开始】选项卡下单击【分组依据】,弹出【分组依据】设置对话框,在这里【分组依据】选择“单号”字段,需要合并文本的一列,即【新列名】设定为“商品合并”,【操作】这里选择“求和”,【柱】这里选择“商品”,如图3,单击【确定】按钮。
在合并的结果表中结果出现“Error”,如图4.注意:⑴【操作】此处不能选择默认的“计数”,否则后面的【柱】无法选择 “商品”这个字段。
⑵因为“商品”字段列的数值类型是文本,所以在这里对其进行求和,其结果必然是错误的(即结果界面中出现Error )。
图3STEP 02图4在【开始】选项卡中单击【高级编辑器】,弹出【高级编辑器】对话框,在文本框中我们可以看到横线处的代码为对“商品”这个文本求和(List.Sum),修改此处的代码,如图5。
将“List.Sum”函数替换为“bine”,并且将数个文本之间的分隔符设定为“,”。
如下所述,改动过的代码部分已用红色字体作了提醒。
然后单击【高级编辑器】中的【完成】按钮,出现正确的结果界面,如图6。
注意:修改代码请务必以英文半角方式输入,否则代码会出现错误导致无法产生正确的结果。
bine([列名],”分隔符”):即将指定的列名下的文本以特定的符号分隔然后进行文本合并。
图5修改前:分组的行= Table.Group(更改的类型, {"单号"}, {{"商品合并", each List.Sum([商品]), type text}})修改后:分组的行= Table.Group(更改的类型, {"单号"}, {{"商品合并", each bine([商品] ,","), type text}})STEP03图6在【开始】选项卡中单击【关闭并上载】命令按钮,选择【关闭并上载至…】,将合并文本的结果加载到Excel表格中,如图7。
Power Query合并查询6种联接种类系统详解
![Power Query合并查询6种联接种类系统详解](https://img.taocdn.com/s3/m/61d307bad0f34693daef5ef7ba0d4a7302766c1c.png)
Power Query合并查询6种联接种类详解(左外、右外、完全外部、内部、左反、右反)合并查询属于Excel Power Query中常用的功能之一,其原理是根据两个查询之间的公共列的相同与否来确定最终得到的查询结果,概念上类似于集合的交集、差集、并集、补集等概念。
虽然判定的对象是公共列,但是得到的结果中会自动扩展都周围的列,所以得到的是两个查询构成的宽表的一个数据子集表。
Power Query中的这六种连接类型,也是整个数据库类软件中最基本概念之一,虽然名称叫法可能不同,但是本质上是一样的。
合并查询比较常用的有两个用途:①用于两个查询表格的对比分析;②用于事实表和维度表之间的数据匹配。
今天就挑选一些典型的案例来给大家讲解以下这六种联接种类的合并查询(左外,右外,完全外部,内部,左反,右反)。
【软件版本】Excel 2019 家庭学生版一、用于两张相同结构表格的对比分析(顺带介绍6种联接的概念)表格介绍:现有以下两个查询:“宝可梦表1”和“宝可梦表2”(*这里为了简便直接从Power Query开始讲解,导入PQ界面的操作步骤省略)我们今天就以以上两个表格来先来讲一下Power Query合并查询中6种联接种类的概念。
这一部分我们需要做的是使用合并查询来对两个结构相同的表做对比分析。
首先,为了尝试6种不同的合并查询的联接种类,我们先需要建立一个“合并查询”,选择第一个查询“宝可梦表1”,然后单击“合并查询”右侧的下拉按钮,选择“将查询合并为新查询”。
于是,会弹出以下的“合并”窗口;我们可以看到“宝可梦表1”查询,自动被放到了上面的查询的位置;此时我们将下面的第二个查询选择为“宝可梦表2”这个查询;然后由于这两个查询的公共列为“宝可梦”这列,我们需要基于“公共列”进行合并查询的集合运算,所以需要依次单击两个查询中的“宝可梦”列,成功后两列会变为浅绿色底纹,如下图所示:然后可以在“联接种类”中6选1进行合并查询。
PowerQuery技巧之合并单簿内的多表(合并方式_直接查询_VBA建表后查询_建表后用M查询)
![PowerQuery技巧之合并单簿内的多表(合并方式_直接查询_VBA建表后查询_建表后用M查询)](https://img.taocdn.com/s3/m/4f70a378bd64783e08122b26.png)
单簿合并多表,起始招数分两派 - <直接查询> 和 <建立表后在查询>********一种是直接从工作簿建立查询************1.不建立表,直接新建空白查询 - 导入工作簿 - 完成合并数据/查询/文件/从工作簿2.查询界面打开, 如要合并全部表, 直接右键选编辑(Edit).若是只合并若干表,则勾选多选(Select multiple items),再勾选待合并表后选编辑(Edit)3. 编辑界面打开后, 在右侧的步骤点击源(Source)再转到公示栏, 先在 = 号后添加 bine( 然后在结尾处添加 )[Data] 完成后回车* = #shared 可查询M用法4.现在只需要做些整理,就能就可以上传合并后的表去Excel里面了转换/使用第一行做标题点击筛选,反选 bb, 只保留数值5, Home 下面选关闭且上传至表(Close & Load)6. 完成~ *** 支持增加新表后自动加入查询结果.******或者用合并多工作薄的方式合并单簿多表将要合并的工作薄单独存放在一个文件夹中,然后建立查询: 数据/查询/文件/从文件夹在打开的查询界面选着添加自定义列(Add Custom Column),自定义公示栏中输入=Excel.Workbook([Content],true) 回车展开, 接着点 Data 继续展开选中结果中的 Name 和 Custom列, 管理列/删除其他列, 然后点击Custom列的展开得到下表, 删除多余列上传Excel即为所得.**PS:如果往这个文件夹这个文件夹中添加工作薄, 或者在这个工作薄中添加工作表,都会被自动添加自动添加到查询结果.********另一种是先建立表,在查询************手动建表(Ctrl+T/L),或者VBA(文末分享代码) - 纯点击 / 或者 M 代码完成合并完成合并先建立表:可以手动建表1. 所有建立成格式表, (Ctrl + T/L )所有需要合并的工作表工作表都分别建立成格式表Ctrl+F3, 在名称管理器中,查看你所要合并的表, 带特征码重命名之特征码重命名之(方便之后合并时做时筛选), 或者将不要合并的表重命名(增加新表时不用特意特征命名,直接刷新)2. 步骤-- 2.1 数据/从表建立查询-- 2.2 右侧步骤/删除其他步骤-- 2.3 点击源(Source)-- 2.4 点击公示栏, 修改公式为:= Excel.CurrentWorkbook() 后回车3. 点击筛选, 过滤为只显示不包含 "_不合并"的表4, ,反选下框, 将结果的列名不使用原列名为前缀, 点击 Expand5. 之后上传excel6. 完成. *** 支持增加新表后自动加入查询结果.***添加新表后刷新,自动加入查询结果:****先建立表: 用M 代码完成合并完成合并1.先将所有待合并表格式表(Table)所有待合并表建立成格式表2. 数据/ 从表格建立查询3. 删除步骤,只保留源(Source), 选择合并/追加 (只是为了帮助理解M,可省略步骤)3. 追加本身 (只是为了帮助理解M,可省略步骤)4. 查看/高级编辑打开后可看见M此处代码为高级编辑打开letSource = Excel.CurrentWorkbook(){[Name=”tblNorth”]}[Content],#”Appended Query” = bine({Source, Source})in#”Appended Query”显然, bine 语句是把前一句定义的源(Source) 进行了自我合并.于是简单了, let 后面把所有需要合并的表定义加进去, 再用bine 合并起来就完成了. **当然, 有新表加入新表加入的时候,只能手动编辑了.此处代码:letSource1 = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],Source2 = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],Source3 = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],Source4 = Excel.CurrentWorkbook(){[Name="Table4"]}[Content],#"Appended Query" = bine({Source1,Source2,Source3,Source4})in#"Appended Query"******************VBA建立格式表(Convert Range To Table in all worksheets in one workbook)*************Sub CreatTableRenameAll() '#1 Creat Table and Rename as sheet for All sheets 'Dim wrksht As WorksheetDim objTable As ListObjectApplication.ScreenUpdating = FalseFor i = 2 To 25 '表2到表25,Excel窗口里的排序,不是VBE中顺序'or ActiveWorkbook.Worksheets.Count ' 或者,最大工作表数Set sh = ActiveWorkbook.Worksheets(i)If sh.Index > 0 Then 'Conditions for traversal 'For i = 1 To ActiveWorkbook.Worksheets.CountDebug.Print sh.IndexTName = sh.Activatesh.Range("A27:F39").Select '固定区域建立为表'or sh.range("A1").CurrentRegion.select '或者, A1 所在数据区域建立成表'ActiveCell.CurrentRegion.Select '或者,当前激活的单元格所在区域建立表'sh.ListObjects.Add(xlSrcRange, Selection, , xlYes).Name = "a" 'Creat Table,Rename Table as sheet name '另一种建表方式Set objTable = sh.ListObjects.Add(xlSrcRange, Selection, , xlYes) 'Creat Table = TNameobjTable.TableStyle = None '表格式为无格式可选TalbeStyleLight1 等等End IfNextApplication.ScreenUpdating = TureEnd Sub。
power query的数据合并方法
![power query的数据合并方法](https://img.taocdn.com/s3/m/3a6f7458f08583d049649b6648d7c1c708a10bf0.png)
power query的数据合并方法在数据处理与分析领域,Power Query 是一款功能强大的工具。
它能够帮助用户进行数据清洗、转换和合并等操作。
本文将详细介绍Power Query 的数据合并方法,帮助您更好地掌握这一技能。
一、Power Query 简介Power Query 是Microsoft Excel 和Power BI 中的一款数据处理插件。
它可以帮助用户从各种数据源(如文本文件、Excel 表、数据库等)导入数据,并进行清洗、转换和合并等操作。
通过Power Query,我们可以轻松地实现数据的整合和分析。
二、数据合并方法1.同一工作簿内数据合并(1)选中需要合并的表格,点击“开始”选项卡下的“合并”按钮。
(2)在弹出的“合并”窗口中,选择“添加”或“添加文件”按钮,将需要合并的表格添加到列表中。
(3)设置合并条件,如匹配列、合并方式等。
(4)点击“确定”按钮,完成数据合并。
2.不同工作簿间数据合并(1)打开目标工作簿,点击“数据”选项卡下的“获取外部数据”按钮,选择“来自其他源”中的“Excel”。
(2)在弹出的“打开”窗口中,选择源工作簿,点击“导入”按钮。
(3)在“导航器”窗口中,选择需要合并的数据表,点击“合并”按钮。
(4)设置合并条件,如匹配列、合并方式等。
(5)点击“确定”按钮,完成数据合并。
3.多个数据源合并(1)打开目标工作簿,点击“数据”选项卡下的“获取外部数据”按钮,选择“来自其他源”中的相应数据源。
(2)在弹出的窗口中,导入需要合并的数据。
(3)重复步骤1-2,导入其他数据源。
(4)点击“数据”选项卡下的“合并”按钮,选择“合并查询”选项。
(5)在“合并查询”窗口中,选择需要合并的数据表,设置合并条件。
(6)点击“确定”按钮,完成数据合并。
三、注意事项1.在合并数据时,请确保数据源中的匹配列具有唯一性,避免重复数据。
2.根据实际需求,选择合适的合并方式(如左连接、右连接、内连接等)。
PowerQuery技巧之数据合并、拆分
![PowerQuery技巧之数据合并、拆分](https://img.taocdn.com/s3/m/894972a24693daef5ff73d31.png)
本节重点:熟练使用Power Query中的合并以及拆分功能。
例子:下面是学生的考试成绩表,要求将其合并到一列中,用“/”分隔,没有考试成绩的不显示。
效果图:这里我们将用到PQ中的“合并”功能,具体思路是:将数据源分为三个表进行操作。
表1、原始数据源保持不变;表2、将分数用科目名称填充;表3、将分数用分隔符“/”填充;最后进行三表按照“姓名”进行合并,最后合并为一列。
具体实现:“原始表”不需要进行任何操作,直接处理“科目名”表。
直接选中四列科目列,进行逆透视列。
然后我们的目的是重复列名,选中“属性”列,点击“重复列”,删除我们不需要的“值”列。
随后选中“属性”列进行透视列,注意要选择“不要聚合”。
这样第二个表也整理完毕。
同样的方法处理“分隔符”表,先逆透视列,然后新增一列分隔符“/”,随后接着透视列,得到如下结果。
好了,三个表处理完毕,下面我们针对“原始表”进行两两合并。
然后除去“姓名”进行“扩展”。
同样的继续合并,另外一个表。
接着调整一下合并之前的位置,就可以进行“合并”操作啦。
这样就完成了“合并”的需求,加载到旁边我们做一下对比。
新增一个学生,看看是否会动态刷新?妥妥的有没有!下面我们对这个结果进行展开操作。
按分隔符进行拆分列。
接着进行逆透视列的操作。
接着拆分,此时不按分隔符拆分了,可以按照固定的字符数进行拆分。
删除不需要的列,进行透视列的操作。
相当妥当。
这个时候新增删除记录,也可以动态刷新,而且科目的顺序不需要一致,随心所欲即可。
转载自https:///zhongguomao/article/details/54311476。
PowerQuery技巧之多列数据组合
![PowerQuery技巧之多列数据组合](https://img.taocdn.com/s3/m/e0689dfbd1f34693daef3ed2.png)
Power Query 中进行多列数据组合转换成(一) 把单个字段组合成一个列Table.ToColumns(源)(二) 把需要合并的样式单独组合Table.FromColumns(List.Range(单字段组合,0,1)&List.Range(单字段组合,4,3))解释:第一个List.Range目的是为了固定班级字段;第2个List.Range是为了提取第一组的数据。
然后和2个列表进行组合并转成Table格式。
同一样的操作,提取第二部分的数据。
Table.FromColumns(List.Range(单字段组合,0,1)&List.Range(单字段组合,4,3))(三) 组合表格bine将之前组合的表格进行合并。
(四) 重命名字段名(五) 创建批量处理的函数之前我们了解到了如何把2列数据进行合并的基本操作,也就是把多个字段进行组合并转成表。
那如果这类的数据很多,如何批量转换呢?我们需要把转换的这一部分做成循环的函数即可。
bine(List.Transform({1..x},each Table.FromColumns(List.Range(单字段组合,0,1)&List.Range(单字段组合,(_*3-3)+1,3))))这个函数是在当前查询功能中进行的书写,但是实际我们在平时想要调用的时候,还有很多需要进一步的进行修改及优化。
1. 生成一个表格参数变量生成这个参数变量是为了我们之后可以在直接调用来处理同类表格。
我们了解到在代码中的单字段组合实际上是个已经经过Table.ToColumns处理过的一个列表嵌套列表格式。
所以我们在优化代码的时候可以把这一步处理的过程直接作为自定义函数的部分流程。
同时我们在这个里面直接把函数的参数及类型给固定住。
let多列组合=(需要操作的表 as table, x as number) as table=>bine(List.Transform({1..x},each Table.FromColumns(List.Range( Table.ToColumns(需要操作的表),0,1)&List.Range( Table.ToColumns(需要操作的表),(_*3-3)+1,3))))in多列组合2. 生成固定列变量添加固定列终点变量,可以用于固定列的选择。
利用Power Query合并多行数据到一个单元格
![利用Power Query合并多行数据到一个单元格](https://img.taocdn.com/s3/m/11bd92f277232f60dccca172.png)
页 面
边 距 的 设 置 甚 至每 页 多 少行 每行 多少 字都 要 提 前 ,
设 置好 这样后期 排版 时效率会 大 幅度 提升。 _ ,
打 印
#
tW ? J
-
随
l '
=i
\
利用 P owe r(J ue iy
合并 多 行数据 到一 个单元 格
?文 /图 王 志 军
:
,
我们 最 好 先 做 好 页 面 参 数 的 设 置 特 别 是 一 些 比 较 ,
大的文档 ,
如毕业 论文、
标书 、
说明书 等,
里 面通常 会
栏 编 辑 张薇 目
:
@ s of tw ar e d n z s. co m
包含 图 片 、
表格 、
公 式等 ,
定 一 要 图
选 项 卡
,
勾 选 “ 编 辑 栏 ” 框 复 选 。
完成上述 步骤之后
返回
开 始 “
”
选 项卡
单 击
,
,
“ 关 闭 并上 载 ”
按钮 ,
返 界 面 回 E x c e l
,
单击 “合 并 内
容” 列 , 设 置 为 自 动换 行 , 再适 当 调 整 字 体 和 字 号 就
, 固 圖 回國 國
文枝网格
上 D : (
^ 8^ 向
2. 5
2* 5 ? ^
丨
〇 ?^
闕
2 . 5
私 2. 5
v
? P 9
p
多页 M (
) :
书
娜 页数 中
U Q :
powerquery 笛卡尔积 两列数据合并
![powerquery 笛卡尔积 两列数据合并](https://img.taocdn.com/s3/m/47e5266159fb770bf78a6529647d27284b7337a0.png)
PowerQuery是微软Excel中的一种数据处理工具,可以通过它来对数据进行清洗、转换和合并等操作。
在使用PowerQuery进行数据合并时,有时会遇到需要对两列数据进行笛卡尔积操作的情况。
本文将介绍如何使用PowerQuery进行笛卡尔积操作,并将两列数据合并的方法。
1. 了解笛卡尔积笛卡尔积是数学中的一种基础概念,指的是两个集合中的每个元素都与另一个集合中的每个元素组合在一起,从而得到所有可能的组合。
在数据处理中,笛卡尔积可以用来将两个数据集合进行全排列组合,从而扩充数据量。
2. 准备数据我们需要准备两个数据列,可以是Excel表格中的两列数据,也可以是PowerQuery中的两个数据源。
假设我们有一个表格,第一列是产品名称,第二列是颜色,我们需要将这两列数据进行笛卡尔积操作,得到所有可能的产品名称和颜色的组合。
3. 打开PowerQuery在Excel中,选择需要进行数据合并的表格,然后点击“数据”选项卡中的“从表格范围创建查询”按钮,即可打开PowerQuery界面。
如果数据源不是表格,也可以通过其他方式打开PowerQuery,确保两个数据源在同一个PowerQuery界面中。
4. 合并数据在PowerQuery中,我们可以使用“合并查询”功能来进行笛卡尔积操作。
首先选择第一个数据列,然后点击“合并查询”中的“查询合并”按钮,在弹出的对话框中选择第二个数据列,然后设置合并类型为“笛卡尔积”。
5. 设置合并选项在设置合并选项时,需要选择用于合并的列,也可以设置合并后的列名、数据类型等信息。
确认设置后,点击“确定”按钮,即可完成笛卡尔积操作。
6. 查看合并结果完成合并操作后,可以在PowerQuery中查看合并结果。
将合并后的数据加载到Excel中,即可查看所有可能的产品名称和颜色的组合,这样我们就完成了对两列数据的笛卡尔积操作,并将其合并成一个新的数据集。
通过上述步骤,我们可以使用PowerQuery对两列数据进行笛卡尔积操作,从而得到所有可能的组合,并将其合并成一个新的数据集。
Powerquery快速合并多个sheet表
![Powerquery快速合并多个sheet表](https://img.taocdn.com/s3/m/10c3885c76232f60ddccda38376baf1ffc4fe3e6.png)
Powerquery快速合并多个sheet表在⽇常⼯作中我们会经常碰到多个表格汇总或者多个excel⽂件进⾏汇总合并。
如果数据量少或者表格少的情况下,我们还可以使⽤公式或者⼿动复制、粘贴进⾏汇总多个,但是碰到经常更新的数据或者数据多的情况下,再⽤上述的公式汇总或复制、粘贴将会浪费我们⼤量的时间,今天我们先介绍使⽤excel 中⾃带的power query⼯具来进⾏多个sheet数据表的汇总。
上述的表格中分别有2017、2018及2019年的各个省份销售数据及销售⾦额。
选择2019的sheet表1.点击数据区域;2.数据3.从表格4.勾选“表包含标题”5.确定excel将会⾃动转到power query将查询设置中,将名称改为“2019”。
(⽅便记忆)重复上述步骤,将2018、2017的数据分别导⼊power query中,我们随便点击⼀个查询,1.主页;2.追加查询选项3.将查询追加为新查询选择“三个或更多表”,并将2018、2019依次添加⼊“要追加的表”中,按确定,如下图重复项对应的销售与⾦额进⾏相加依次1主页2分组依据3⾼级4.分组依据选择“⽣产⼚家省份5新列名输⼊“本期销量”-操作求和-求和的柱(即要求和的数据区域)选择本期销售量。
同理在新增聚合“销售⾦额-求和-销售⾦额”最后确定。
然后进⾏美化,删除空⾏,添加序号,并上载。
这个时候我们的数据就汇总完成你以为这就结束了?少年,power query的重点是⾃动处理数据。
我们在2018表录⼊⼀串数据如下图然后在数据汇总表格数据区域中点击右键-刷新如果对你有帮助请点个关注、转发,我后期还会持续更新教程。
power query技巧实例
![power query技巧实例](https://img.taocdn.com/s3/m/2891948edb38376baf1ffc4ffe4733687f21fc62.png)
power query技巧实例摘要:1.Power Query 技巧实例概述2.连接和合并数据3.数据清洗和转换4.数据筛选和排序5.实战案例:利用Power Query 技巧提升数据处理效率正文:1.Power Query 技巧实例概述Power Query 是Excel 和Power BI 中一款强大的数据处理工具,可以帮助用户快速连接、合并、清洗、转换和筛选数据。
本文将通过一些实例技巧,让您更好地掌握Power Query 的使用方法,提升数据处理效率。
2.连接和合并数据在数据处理过程中,我们常常需要将多个数据源进行连接或者合并。
Power Query 提供了多种连接方式,如基于共同字段、基于查询结果等。
同时,通过“合并”功能,可以轻松实现数据的合并。
例如,我们可以将两个表格中的数据按照共同字段(如ID)进行连接,以便进行数据汇总和分析。
具体操作方法为:在Power Query 编辑器中,选择“合并”选项卡,然后点击“基于共同字段合并”按钮,选择需要连接的字段,即可完成数据连接。
3.数据清洗和转换数据清洗和转换是数据处理过程中非常重要的环节。
Power Query 提供了多种数据清洗和转换功能,如删除空值、更改数据类型、拆分和合并列等。
例如,我们可以通过“删除空值”功能,轻松删除数据中的空值。
具体操作方法为:在Power Query 编辑器中,选择“数据”选项卡,然后点击“删除空值”按钮,即可完成空值删除。
4.数据筛选和排序在数据处理过程中,我们常常需要对数据进行筛选和排序。
Power Query 提供了多种筛选和排序功能,如按条件筛选、按字段排序等。
例如,我们可以通过“按条件筛选”功能,筛选出符合条件的数据。
具体操作方法为:在Power Query 编辑器中,选择“筛选”选项卡,然后点击“按条件筛选”按钮,设置筛选条件,即可完成筛选操作。
5.实战案例:利用Power Query 技巧提升数据处理效率假设我们有一份包含多个表格的数据,需要对这些数据进行汇总、筛选和排序。
Excel用PowerQuery把文件夹下所有文件合并为一个与合并多个表格
![Excel用PowerQuery把文件夹下所有文件合并为一个与合并多个表格](https://img.taocdn.com/s3/m/cdb60116974bcf84b9d528ea81c758f5f71f295b.png)
Excel⽤PowerQuery把⽂件夹下所有⽂件合并为⼀个与合并多个表格Excel⽤Power Query把⽂件夹下所有⽂件合并为⼀个与合并多个表格在 Excel Power Query 未出来之前,把⽂件夹下所有⽂件合并为⼀个与合并同⼀⼯作表中的多个⼯作表,需要⽤ VBA 实现,⽐较⿇烦。
有了 Power Query 后,不⽤再写代码,直接⽤它就可以合并⼀个⽂件夹(可包含⼦⽂件夹)下所有的 Excel ⽂件与⼀个 Excel ⽂档中所有Sheet。
⽤ Power Query 合并⽂件,主要是通过查询导⼊的办法实现,以下就是它们的具体操作⽅法,实例中操作所⽤版本均为 Excel 2016。
⼀、Excel⽤Power Query把多个⼯作表Sheet合并到⼀个⼯作表1、选择“数据”选项卡,单击“新建查询”,在弹出的菜单中依次选择“从⽂件”→从⼯作簿,打开“导⼊数据”窗⼝,定位到要合并的Excel⽂件所在的⽂件夹,双击要合并的⽂件(如 Power Query合并多个⼯作表),则弹出提⽰正在连接⽂件⼩窗⼝,连接完成后,打开“导航器”窗⼝,勾选“选择多项”,依次勾选“1⽉⾄6⽉”6个⼯作表,单击右下⾓的“加载”,打开“查询编辑器”窗⼝,选中左边的“1⽉”,单击“表格图标”,在弹出的菜单中选择“追加查询”,打开“追加”窗⼝,单击下拉列表框,在弹出的选项中选择“2⽉”,则把⼯作表“2⽉的数据”添加到“1⽉的数据”后⾯;同样⽅法添加“3⽉⾄6⽉的数据”,添加完成后,单击“查询编辑器”左上⾓的“关闭并上载”,在弹出的菜单中选择“关闭并上载”,则“1⽉⾄6⽉的数据”添加到 Excel ⽂档中;操作过程步骤,如图1所⽰:提⽰:当从 Excel ⽂件导⼊数据时,在最后⼀步把数据添加到 Excel ⽂档时,可能会弹出“初始化数据源失败”的提⽰,单击“确定”即可。
2、在“查询编辑器”窗⼝,追加合并数据时,除可以从“表格图标”选择“追加查询”外,还可以直接选择窗⼝右上⾓的“追加查询”,如图2所⽰:图23、如果合并的⼯作表中有重复记录,把数据添加到⼀个表(如“1⽉”)后,可以单击“表格图标”,在弹出的菜单中选择“删除重复项”,如图3所⽰:图3⼆、Excel⽤Power Query把多个⽂件合并成⼀个⽂件,仅把 Sheet 添加到⼯作薄并未合并数据1、单击“数据”选项卡下的“新建查询”,依次选择“从⽂件”→从⼯作薄,打开“导⼊数据”窗⼝,定位到要合并的Excel⽂件所在的⽂件夹,双击要合并的⽂件(如 Power Query 合并查询),则所选⽂件导⼊到“导航器”窗⼝,勾选“选择多项”,依次勾选“Sheet1 和 Sheet2”,单击“编辑”,打开“查询编辑器”窗⼝,单击窗⼝右上⾓的“新建源”,在弹出的菜单中依次选择“⽂件””→ Excel,再次打开“导⼊数据”窗⼝,同样定位要合并⽂件所在⽂件夹,双击要导⼊⽂件(如 Power Query合并多个⼯作表),打开“导航器”窗⼝,再次勾选“选择多项”,并依次选择“1⽉⾄6⽉”六个⼯作表,单击“确定”,返回“查询编辑器”窗⼝,单击“关闭并上载”,在弹出的菜单中选择“关闭并上载”,则两个 Excel ⽂件的8个⼯作表合并到⼀个 Excel ⽂件中;操作过程步骤,如图4所⽰:2、以上演⽰了把两个 Excel ⽂件合并为⼀个⽂件,如果要把更多的 Excel ⽂件合并为⼀个⽂件,只需在“查询编辑器”窗⼝重复选择“新建源”,选择 Excel ⽂件即可。
excel里面的powerquery常用操作
![excel里面的powerquery常用操作](https://img.taocdn.com/s3/m/b8a8a71b814d2b160b4e767f5acfa1c7aa008294.png)
excel里面的powerquery常用操作Excel中的Power Query(又称为获取和转换数据或Get & Transform)是一种数据查询和转换工具,可用于从多个数据源中提取、转换和加载数据。
下面是一些常用的Power Query操作:1. 连接到数据源:Power Query可连接到各种数据源,如数据库、Excel文件、文本文件、Web数据等。
在Excel中,你可以点击“数据”选项卡中的“获取数据”按钮来选择数据源。
2. 删除行或列:你可以删除数据表中的不需要的行或列。
只需选择要删除的行或列,然后点击“删除行”或“删除列”按钮。
3. 过滤数据:你可以使用Power Query中的过滤功能来筛选特定的数据行。
只需选择要应用过滤器的列,然后选择所需的过滤条件。
4. 转置数据:如果你想要将数据表中的行和列互换,可以使用Power Query中的转置功能。
只需选择要转置的数据范围,然后点击“转置表”按钮。
5. 合并数据表:如果你有多个数据表需要合并,可以使用Power Query中的合并功能。
只需选择要合并的表,然后选择要基于的共同列,Power Query将自动将它们合并在一起。
6. 拆分列:如果你的数据列包含多个值,可以使用Power Query中的拆分功能将其拆分为多个列。
只需选择要拆分的列,然后选择要依据的分隔符。
7. 扩展列:Power Query允许你在现有数据表中添加新列。
可以使用计算列或使用其他数据源中的相关数据扩展现有列。
这只是Power Query的一些常见操作,它还具有许多其他功能和操作,例如排序、填充空白、更改数据类型等。
你可以通过自行使用Power Query或查看Power Query的帮助文档来了解更多详细信息。
使用Power Query批量合并多个Excel
![使用Power Query批量合并多个Excel](https://img.taocdn.com/s3/m/0d266d21783e0912a2162a51.png)
使用Power Query批量合并多个Excel在日常工作中经常需要将多个Excel文件合并至一张工作表中,不同的人有不同的做法,有的同学会使用通俗简单地复制粘贴,有的同学会使用录制宏或者网上百度VBA代码进行一键汇总,还有一个方法就是使用Excel自带工具Power Query进行批量合并,本文就简单介绍一下PQ是如何批量合并多个Excel文件的。
由于只是数据处理的过程,下面的示例是在Excel 2016进行,使用Excel 2010、Excel 2013的插件以及在Power BI Desktop中的操作都是一样的。
Step1.新建一张空白Excel工作簿,点击"数据"选项卡下"新建查询";Step2.从文件夹中获取数据,浏览找到需要汇总文件夹的路径,点击“确定”;Step3.确定后出现这个界面,点击“编辑”;Step4.进入查询编辑器,数据就储存在[Content]列,其它列都是每个工作簿的信息,现在要做的就是把Content内容提取出来;Step5.点击"添加列"选项卡,添加自定义列自定义列中输入公式=Excel.Workbook([Content]),(这里要注意严格区分大小写,不能写错了,这就是提取Excel格式数据的M函数),然后点击“确定”;Step6.点击“确定”后就出现了一个自定义列;Step7.点击[定义列]右上角的双箭头展开数据,默认点击“确定”(或者也可以根据需求对增加列内容进行选择,不需要的项目方框内不要打钩);Step8.点击“确定”后,数据表中增加两列;Step9.继续点击[自定义.Data]列的右上角的双箭头,然后还是直接点击“确认”,数据就全部加载完成(此处也可以根据需求选择需要保留列,对于不需要加载的列可以将其前面方框内钩取消);Step10.数据汇总完成,点击“关闭并上载”下拉菜单中的“关闭并应用”,此时数据就全部加载到Excel表格中了(在执行此步骤之前也可以根据需要对列和行数据进行选择保留,删除掉不需要行列数据)。
Power Query数据格式的转换、拆分合并提取、删除重复项、删除错误、转置与反转、透视和逆透视
![Power Query数据格式的转换、拆分合并提取、删除重复项、删除错误、转置与反转、透视和逆透视](https://img.taocdn.com/s3/m/6235599927d3240c8547ef38.png)
Power BI(三)Power Query知识点本篇博客主要讲解Power Query以下知识点:删除重复项数据格式的转换数据的拆分合并提取删除错误转置与反转透视和逆透视(二维表与一维表的转换)数据格式的转换如下图,我们有一组数据,但是发现其格式很不符合我们建模数据的需求,需要进行处理(比如姓名列有回车、空格多余字符、英语名字中间间隔两个空格、Last name首字母大写、出生年份多了一个"年"字)首先第一步还是把数据加载进Power Query查询编辑器选择以下几列进行,格式(清除)但是发现英语名字中间两个空格还没搞定我们使用拆分-合并方式解决选着以下几列进行修整选中两列点击合并列对于Last name首字母大写问题(选中First name和Last name两列首字母大写)效果如下所示出生年份多了一个"年"字首先把其类型变为文本选择替换值数据处理完毕查询编辑器关闭上载数据的拆分合并提取我们有这一组数据,想新增几组数据首先我们还是把数据加载进Power Query查询编辑器,发现身份证类型不对,修改为文本首先重复一下姓名这一列修改列名为姓、名性别如何提取呢?(身份证倒数第二位,奇数为男,偶数为女)换类型为整数之后类型换为文本之后使用替换功能(true男,false女)添加一列尊称(使用替换男--先生,女--小姐)出生年份同理使用提取功能(添加后缀“年”)效果如下首要兴趣(兴趣爱好第一个)删除多余的列修改一下列名,完成,之后关闭上载删除重复项我们有下面这一个表格首先还是加载数据进查询编辑器,把表格复制三份并命名先排序要把这两个状态剔除,我们现在看到的其实并非数据真实的排序样子,我们做一步不伤害数据的操作,让我们的排序操作不可逆转,实现所见即所得排序图标消失,所见即所得删除重复项默认保留排在第一次出现的数据客户第一次购买同理,唯一不同的就是多订单分析(保留重复项)删除错误像如下的excel不利于我们平时分析(工作日和周末那一列要剔除)加载进查询编辑器加载进来数据是没有问题的,我们要制作错误,修改第一列类型修改为整数数据处理完毕转置与反转我们看一个例子,左边的excel内容实现逆序还是同理把数据加载进查询编辑器首先拆分转置反转再转置之后合并完成,之后加载回excel透视和逆透视(逆透视二维表转换为一维表)使用逆透视之后再用透视转换为二维表又变回来了透视列聚合函数(不要聚合)例子之后条件样式。
powerquery某一列值相同的求和
![powerquery某一列值相同的求和](https://img.taocdn.com/s3/m/38a33c04842458fb770bf78a6529647d27283490.png)
powerquery某一列值相同的求和
在Power Query中实现某一列值相同的求和操作,通常涉及对数据的分组和聚合。
以下是一个详细的步骤说明,以及如何通过Power Query完成这一任务。
首先,你需要导入你的数据源。
这可以是一个Excel表格、SQL数据库或其他任何支持的数据源。
在Power Query编辑器中,你将看到所有导入的列和数据。
接下来,选择你想要进行求和操作的列。
例如,假设你有一个名为“销售额”的列,并且你想要对“产品类别”列中相同的值进行求和。
然后,你可以使用Power Query的“分组依据”功能。
在“转换”选项卡下,选择“分组依据”。
在弹出的对话框中,选择你想要分组的列(在这个例子中是“产品类别”列),然后选择你想要执行的操作。
对于求和,你应该选择“求和”作为聚合操作,并选择你想要求和的列(在这个例子中是“销售额”列)。
点击“确定”后,你将看到一个新的列,其中包含了每个“产品类别”的“销售额”总和。
另外,如果你想要在Power Query中使用更高级的功能,如自定义列和List类函数,你也可以实现相同的结果。
例如,你可以使用“添加列”功能来创建一个新列,该列的值是基于“产品类别”列和“销售额”列的计算结果。
在这个新列中,你可以使用List类函数来对每个“产品类别”的“销售额”进行求和。
无论你选择哪种方法,都可以实现Power Query中对某一列值相同的求和操作。
这将使你能够更好地理解和分析你的数据,并根据需要创建更复杂的报告和分析。
PowerQuery技巧之隔列获取纵向合并
![PowerQuery技巧之隔列获取纵向合并](https://img.taocdn.com/s3/m/d794282302768e9951e738ec.png)
隔列获取纵向合并
题目:
在工作中我们经常会遇到很多不规范的表格,比如这样:
一个sheet里塞了很多张格式一模一样的表,但是横向排列的,非常不便于做分析,所以需要把这些表格进行合并。如果这种独 立表格的数量不多我们可以手动框选区域分别插入表格,然后用PQ追加查询,但是如果表格有很多显然不现实。
解法:
每一张独立表格的列数都是相同的,所以如果我们能够从左往右,每次跳过8列,然后获取8列数据,再进行合并就可以了。如 果是隔行获取可以用 Table.AlternateRows ,现在要获取列可是没有AlternateColumns啊,所以需要将table先转成list,然后用 List.Transform + List.Range 的套路,分别获取到我们想要的列,然后还原成table,最后合并即可。
let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 整理 = bine(List.Transform({0..2},each Table.FromColumns(List.Range(List.Select(Table.ToColumns(源),each
in
整理
其中 List.Range 的第二参数可能很多人不太理解,_代表前面 List.Transform 里的每一个元素,也就是0,1,2,那为什么是8*_?因 为我们一张独立表格里有8列,我们要取的起始索引分别为0,8,16,公差是8所以要乘以8。理解了这个案例,对于类似的隔列获
取的题差不多就都能解决了。
12、PowerQuery-透视列实例应用(多单元格记录合并及汇总)
![12、PowerQuery-透视列实例应用(多单元格记录合并及汇总)](https://img.taocdn.com/s3/m/87ec54042379168884868762caaedd3383c4b502.png)
12、PowerQuery-透视列实例应用(多单元格记录合并及汇
总)
Power Query-透视列实例应用(多单元格记录合并及汇总)
要求,如下图:
根据左边的内容,部门,姓名,捐助金额进行汇总,统计出各个部门的捐款人姓名和人数以及总金额。
这个功能就比较实用了,下面我们讲解一下它的实现。
先导入到PQ界面,复制一份,一个叫“捐款表”,一个叫“汇总表”。
第一步,我们把“汇总表”里面的名单收拢起来。
删除“捐助金额”列,然后插入一列索引列。
然后选中“索引”列,进行透视列。
选择“不要聚合”。
意思就是对姓名进行一个摆放操作。
这样一来,每个部门的人都出现在右侧了。
下面我们就需要进行连接操作,选择部门后的所有列(选择第一个,按住Shift键,点击最后一列)。
按照前面讲过的,去除前后空格,中间只留一个。
接下来进行替换操作。
接下来我们就需要进行合并了。
前面讲的合并查询就可以派上用场了。
选择“汇总表”,点击“转换”——“合并查询”。
选择左外的联接方式。
下面我们不需要再展开了,直接聚合。
搞定。
这个方式有一个弊端,就是新增一条记录的话,刷新的时候自动增加不了。
原因是什么呢?
其实就是在这里,我们其实是手动去选择的列,增加一条记录的话,他无法捕获到我们的操作。
这个有没有方法解决呢?
下回分解!。
PowerQuery技巧之合并字符串
![PowerQuery技巧之合并字符串](https://img.taocdn.com/s3/m/b078a77ddcccda38376baf1ffc4ffe473368fd28.png)
PowerQuery技巧之合并字符串横向合并数据源:Sheet1 中的“超级表”命名为“表1”,包含“省级”与“市级”两列数据。
目标:在不改变数据源和不添加辅助列的前提下,将两列合并成一列,如图 8-12 所示。
解决方案:利用【合并列】等功能解决。
第1 步选取数据源表中数据区域的任意一个单元格,以【自表格/区域】的方式进入“异空间”。
第2 步依次选取“省级”列和“市级”列后,单击【转换】选项卡下的【合并列】按钮,在【合并列】对话框中将【新列名】修改为“合并省市”后单击【确定】按钮,如图 8-13 所示。
第3 步单击【主页】选项卡下的【关闭并上载】下拉按钮,选择下拉选项中的【关闭并上载至…】,在【导入数据】对话框中设置将查询表放置在现有工作表的C1 单元格。
结果如图 8-14 所示。
整列合并数据源:Sheet1 中的“超级表”命名为“表1”,包含“省级”与“市级”两列数据。
目标:在不改变数据源和不添加辅助列的前提下,将“市级”列里的所有内容合并到一个单元格中,以顿号分隔,如图 8-15 所示。
解决方案:添加自定义步骤,利用M函数“bine”实现。
第1 步选取数据源表中数据区域的任意一个单元格,以【自表格/区域】的方式进入“异空间”。
第2 步右击“更改的类型”步骤,在快捷菜单中选择【插入步骤后】选项,添加“自定义1”步骤。
第3 步右击“自定义1”步骤,在快捷菜单中选择【重命名】选项,将其改名为“合并市级列”。
上述操作步骤如图 8-16 所示。
第 4 步将编辑栏的公式改写如下:第5 步单击【文本工具转换】选项卡下的【到表】按钮,将其转换成查询表。
第 6 步标题名由“Column1”修改为“所有市”。
上述操作步骤如图 8-17 所示。
第7 步单击【主页】选项卡下的【关闭并上载】按钮,返回Excel界面。
结果如图 8-18 所示。
去除重复后整列合并数据源:Sheet1 中的“超级表”命名为“表1”,包含“省级”与“市级”两列数据。
PowerBI技巧之49、Power Query-合并查询温故知新
![PowerBI技巧之49、Power Query-合并查询温故知新](https://img.taocdn.com/s3/m/67b65043bceb19e8b9f6ba23.png)
这一节我们来重温一下合并查询,介绍一个新的引入方式,废话不多说,直接看需求。
看上表,现需要统计各个等级的学生数量,我们利用Power Query这种方式的优势在于新增修改学生成绩条目以及等级情况条目的时候可以动态刷新。
执行效果如下:下面我们介绍一下如何动态的获取这两张表(用选择——“从表”的方式也是可以的):1、学生成绩表2、等级对应表我们不妨使用函数动态的去获取这两个表的信息。
在空白处写函数,具体如下:1、 =OFFSET($A$1,,,COUNTA($A:$A),2)2、 =OFFSET($G$1,,,COUNTA($G:$G),2)注意这里一定需要的是绝对位置。
然后再公式菜单下利用名称管理器进行新建。
对应如何引入到Power Query中,这里我们习惯使用空查询进行操作。
利用函数Excel.CurrentWorkbook()获取当前Excel中的所有表。
复制一份出来,进行扩展操作,效果如下:对“等级对应表”进行操作,将范围根据分隔符进行拆分列,然后扩展到每一个具体分数。
这个时候基础的两个表都已经整理完毕,可以进行合并操作了。
最后进行“分组依据”。
下面一个操作就是上一节的巩固,这里不再详述。
修改公式为:Table.Group(重命名的列, {"等级"}, {{"人数", each Table.RowCount(_), type number}, {"姓名", each bine([学生],"#(lf)"), type text}})加载到当前工作簿。
此时进行动态的添加,均可刷新成功!本节素材下载地址:/detail/zhongguomao/9754715思考:若是销量统计表,比如20000Kg~50000Kg为一个等级档,我们也用这种方法进行扩展么? —— 敬请留言。