Power BI 微课堂 | 第14课:用 Power Query 实现多表合并

发布于: 2023-08-29

今天,我们来学习:用 Power Query 实现多表合并,了解“合并查询”与“追加查询”的功能区别,并通过这两个方式实现想要的表合并效果。


》前言

合并查询的功能非常强大,因为借此你能追加或合并不同的表或查询。在下方列出的情况下,可以将表合并为一个表:

  • 存在过多的表,使得难以导航一个过于复杂的数据模型

  • 多个表具有一个类似的角色

  • 一个表只有一两个可以放进不同表中的列

  • 想在一个自定义列中使用来自不同表的多个列

在 Power BI 中,我们可以通过两种不同的方式合并表:合并查询和追加查询。

  • 场景描述

假设,你正在为销售和人力资源团队开发 Power BI 报表。他们要求你创建一个联系信息报表,其中要包含每名员工、供应商和客户的联系信息和位置。

如下图所示,报表分析所需的数据分别位于 HR.Employees、Production.Suppliers 和 Sales. Customers 表中。

但是,这些数据来自多个表。因此,分析的难题在于你要如何合并多个表中的数据并创建一个真实数据来源表以从中创建报表。

这时,通过利用 Power BI 的固有功能,可以将查询合并到一个表中。


》追加查询

在追加查询时,你会将数据行添加到另一个表或查询中。例如,你有两个表,其中表一有 300 行,另一个表有 100 行。在追加查询后,最后将有 400 行。

在合并查询时,你会将列从一个表(或查询)添加到另一个表(或查询)中。请注意,若要合并两个表,必须有一个列是两个表之间的关键值(共同字段)。

在本例中,你可以在 Production.Suppliers 和 Sales.Customers 表中追加 HR.Employees 表,从而得到一个联系人信息的主列表。

由于你想创建一个表,此表要包含员工、供应商和客户的所有联系信息。因此,当合并查询时,合并表中所需的相关列的命名必须与原始数据表中的命名相同,这样才能看到一个合并的视图。

开始合并查询之前,可从表中删除此任务不需要的无关列。若要完成此任务,请将每个表的格式设置为只有四个包含相关信息的列,并进行重命名,使它们全都具有相同的列标头:ID、company、name 和 phone。

下图显示了格式化后的 Sales.Customers、Production.Suppliers 和 HR.Employees 表的代码片段。

完成格式化后,就可以合并查询了。

在 Power Query 编辑器功能区的“开始”选项卡上,选择“追加查询”,展开下拉列表,再选择“将查询追加为新查询”,这意味着追加的输出将生成一个新查询或表;或者可以选择“追加查询”,这会将行从现有表添加到另一个表中。

下一个任务是创建新的主表,因此需要选择“将查询追加为新查询”。选择后会转至一个窗口,你可以从中将要追加的表从“可用表”添加到“要追加的表”中,如下图所示。

在添加了要追加的表后,请选择“确定”。你将被导航到一个新查询,其中包含所有三个表中的所有行,如下图所示。

现在,你已成功创建了包含员工、供应商和客户信息的一个主表。然后,你可以退出 Power Query 编辑器,生成围绕此主表的所有报表元素。

但是,如果是想合并表,而不是将数据从一个表追加到另一个表,此过程将有所不同。


》合并查询

合并查询时,你将基于表之间通用的列将数据从多个表合并到一个表中。此过程类似于 SQL 中的 JOIN 子句。

假设现在销售团队希望你将订单和它们对应的详细信息(当前位于两个表中)合并到单个表中。这时,可以通过合并 Orders 和 OrderDetails 这两个表来完成此任务。如下图所示,这两个表都具有“OrderID”列。

转到 Power Query 编辑器功能区上的“开始”,然后选择“合并查询”下拉菜单,从中可以选择“将查询合并为新查询”。此选择将打开一个新窗口,从中可以选择要从下拉列表中合并的表,然后选择两个表都具有的列,在本例中为“orderid”。

你还可以选择如何联接两个表,这也是类似 SQL 中的 JOIN 语句的一个过程。这些联接选项包括:

  • 左外部:显示第一个表中的所有行以及第二个表中的匹配行。

  • 完全外部:显示两个表中的所有行。

  • 内部:显示两个表之间匹配的行。

在这样的情境下,你将选择使用“左外部”联接。选择“确定”,这会将你路由到一个新窗口,从中可以查看你合并的查询。

现在,你就可以通过不同的方式合并两个查询或表,从而根据业务需求以最合适的方式查看数据了。



以上就是关于「用 Power Query 实现多表查询」的全部内容。感谢您的耐心阅读,更多 Power BI 学习资源,请持续关注优阅达大数据生态。