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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【OFFICE 365】Power Query 多工作簿合并相关的知识,希望对你有一定的参考价值。

参考技术A

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

导入结果如下:

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

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

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

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

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

以上是关于【OFFICE 365】Power Query 多工作簿合并的主要内容,如果未能解决你的问题,请参考以下文章

使用 Power Automate 检查 Office 365 组中是不是存在 Teams/SharePoint 用户

Office365 - User无法访问Power Apps的解决方案

Office365 - User无法访问Power Apps的解决方案

Office 365 E3开发版的Power BI Free 许可设置

Power Apps中的级联下拉列表

Exchange/Office365 自动处理脚本:环境准备篇