在连载的上两篇文章中,小鱼通过多次使用 VLOOKUP 函数完成了数据的合并。其实,除了 VLOOKUP 函数之外,我们还可以使用 BI 合并查询!
本节,小鱼将使用 Power Query 实现订单表、产品表和负责人表的多个字段合并。其中,订单表和产品信息表通过『产品编码』字段进行关联,查询负责人则需要同时根据『店铺名称』和『类别名称』来确定。

下面,我们来开始 Power Query 合并查询的学习之旅吧~
一. 导入数据,创建查询
首先,我们看到小鱼的工作簿中在『订单表』『产品表』『负责人表』的后面有一个空白的工作表『总表』,将会用来放置我们查询的结果。
点击『数据』菜单栏的『获取数据』,下拉菜单中点击『来自文件』选择『从 Excel 工作簿』获取数据。

因为我们需要的数据也位于当前的工作簿,因此找到当前工作簿双击,将弹出如下的导航器对话框:

我们可以看到当前 Excel 工作簿中的所有工作表都被列了出来,点击『选择多项』,在工作表列表中依次勾选我们需要的数据源。之后,点击『转换数据』即可进入『Power Query 编辑器页面』了。

二. 追加查询
在 Power Query 编辑器中,我们首先在『主页』中找到『合并查询』,在其下拉菜单中选择『将查询合并为新查询』,这样我们完成查询后会在左侧的查询列表中增加一项查询结果。

在『合并查询』对话框中,我们首先需要将第一个数据源设置为『订单明细表』,第二个数据源设置为『产品表』。两张表的关联字段为『产品编码』,只需要分别点击两张表中的该字段即可选中。

此外,我们还需要注意『连接类型』为左外连接,也就是我们希望合并后的结果以第一张表『订单明细表』为主,保留该表中的所有记录。
点击『确定』我们可以看到左侧查询列多了一个新的结果『合并1』,点击该查询结果,我们可以看到其最后一列为『产品表』,点击字段标题右侧的图标我们来将『产品表』展开。

取消勾选『选择所有列』,勾选我们需要的『产品名称』『产品类别』『单价』字段,点击『确定』按钮。

至此,在『订单表』的基础上,我们就完成了『产品名称』『产品类别』『单价』的查询。

接下来,我们在『合并1』的基础上继续追加查询,点击『合并查询』选择『合并查询』即可,这样就会在当前选中的『合并1』基础上追加查询结果。

在『合并查询』对话框中,第二个数据源选择负责人表『各店铺各品类负责人』,由于我们需要使用『店铺名称』『类别名称』两个字段来进行关联,点击选中一个字段之后,按 Ctrl
键点击剩余字段,即可选中多个。

『连接类型』仍然是默认的『左外部』,表示我们希望保留『合并1』的全部记录,『负责人表』则仅返回在『合并1』中有关联记录的结果。
点击『确定』之后,我们可以看到『合并1』中新增了一个字段『各店铺各品类负责人』,同样我们需要点击字段右侧的图标将 Table 展开:取消勾选『选择所有列』,勾选『负责人』字段即可。

至此,我们已经完成了 Power Query 合并查询,接下来就需要我们将查询结果上载到 Excel 工作簿中的『总表』。

三. 加载查询至 Excel
点击 Power Query 编辑器『主页』中的『关闭并上载』选中下拉菜单中的『关闭并上载至...』选项。

在弹出的『导入数据』对话框中,点击单选按钮『仅创建连接』,点击『确定』完成导入设置。

此时『Power Query 编辑器』关闭,返回 Excel 工作簿,我们可以看到右侧『查询 & 连接』列表中已经导入了 Power Query 中的四个查询:

接下来,选中『合并1』查询,右键选择『加载到...』选项:

再次弹出『导入数据』对话框,显示方式选择『表』,放置位置为『总表』中的 A1
单元格,点击『确定』完成导入设置。

此时,我们就可以在『总表』中看到合并查询的结果啦!不过细心的你会发现小鱼导入结果中,『序号』列被打乱了。

不用担心!点击『序号』列中的任意一个单元格,点击『数据』菜单栏下的『升序』按钮即可将顺序恢复。

通过连接导入的数据,会自带一个格式,并且字段标题有『筛选』按钮,我们可以根据自己的需要对表格样式进行调整。这里小鱼就不再赘述了,连载的文章小伙伴们往前翻翻就可以找到~

四. 总结
当多个报表中存在可以匹配的共有字段时,便可以通过 BI 合并查询实现多表合并。Power Query 多表查询相较于 VLOOKUP 函数,操作更加简单,而且当数据量比较大时,也可以轻松应对。不过需要注意的你的 OFFICE 版本,要求 2013 版本以上。
网友评论