【OFFICE 365】Power Query 多工作簿合并

截至目前,小鱼已经和大家学习了 Power Query 合并工作簿中的多张工作表,本节我们需要合并的数据则位于多个工作簿中,小鱼将使用 Power Query 编辑器中的自定义列来实现多工作簿的合并!

1. 从文件夹获取数据

首先,我们将包含了各门店订单的 Excel 工作簿放在一个独立的文件夹中:

在文件夹外侧,创建一个总表,用于存放合并后的订单数据:

打开创建的数据总表工作簿,在【数据】菜单栏的【获取数据】选项中选择【来自文件 - 从文件夹】,以导入文件夹中文件的元数据信息和链接。

如下,等待 Excel 读取到文件夹中所有工作簿的细信息后,会弹出如下所示的窗口:

该窗口包含了所有文件的元数据信息和文件内容,其中 Content 列为文件内容,以二进制格式存储。由于我们需要取出的是工作簿中的内容而不是元数据信息,因此这里我们点击【转换数据】,进入 Power Query 编辑器。

由于我们仅需要获取工作簿中的内容,无需其他信息。点击 Content 列将其选中,点击【删除列 - 删除其他列】选项。

2. 添加自定义列合并数据

接下来我们就需要用到添加【自定义列】的功能,将工作簿中的工作表内容取出来。点击【添加列】菜单,选择【自定义列】选项。

在弹出的【自定义列】窗口中,我们需要录入 Power BI 的公式,来读取 Content 工作簿对象的工作表:

 Excel.Workbook([Content],true)

其中第一个参数为存储工作簿内容的列,第二个参数为 true 表示数据包含标题。公式输入完成后,会自动进行语法检测,检测结果在窗口的左下角。

注:【自定义列】窗口中允许我们为自定义的列定义【新列名】。

点击确定,我们就在查询结果中增加了一列叫做【自定义】的列,其内容为工作表。

点击自定义列右上角的图标,我们可以看到工作表的属性信息,点击取消勾选【选择所有列】,仅勾选【Data】列,也就是数据表中的数据部分。

现在,【自定义】列字段就变成了【自定义·Data】字段,再次展开字段属性,我们就可以看到 Data 中包含的列名了,点击勾选【选择所有列】导入所有字段。

至此,我们就可以在 Power Query 编辑器中看到所有我们需要的数据了。接下来,我们删除存储工作簿内容的 Content 列。

最后一步操作,将查询结果上载到我们创建好的总表即可。点击【主页】中的【关闭并上载至】选项。

在弹出的导入数据窗口中,可再次数据放置位置,此处的显示方式我们选择【表】。

导入结果如下:

以上就是今天关于 Power Query 合并多工作簿的全部内容啦~下面,小鱼对本节内容加以总结。

总结

在使用 Power Query 合并多工作簿分为两个步骤:从文件夹获取数据以及添加自定义列以获取合并的数据。

在获取数据前,需要我们把所有分表放在同一个文件夹,再创建一个存放汇总数据的总表,总表不能与分表放在一起。通过 Power Query 编辑器从文件夹获取到工作簿的相关属性后,仅保留 Content 列即可。

上述获取的 Content 列仅仅是工作簿的内容,通过 Excel.Workbook 函数可以获取工作簿中的工作表属性,进而获取工作表的 Data 属性,此过程中需要经过两次展开获取最终的订单数据。

因此,Excel 管理数据是分层的,其层级关系为:文件夹 - 工作簿 - 工作表 - 数据记录。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容