左外部联接

Power Query 的“合并”对话框中可用的联接类型之一是 左外部联接,该联接将保留左侧表中的所有行并引入右表中的任何匹配行。 有关详细信息,请转到 合并操作概述

左外连接示例图。

示意图显示了包含 Date、CountryID 和 Units 列的左表。 突出显示的 CountryID 列包含第 1 行和第 2 行中的值 1、第 3 行中的值 3 和第 4 行中的值 4。 该图显示了包含 ID 和国家/地区列的左表。 强调的 ID 列在第 1 行包含值 1(表示美国),第 2 行包含值 2(表示加拿大),第 3 行包含值 3(表示巴拿马)。 前两个表格下方的表格包含日期、CountryID、单位和国家字段。 该表有四行,前两行包含 CountryID 1 的数据、CountryID 3 的行,以及国家/地区 ID 4 的行。 由于右表中没有 ID 为 4,国家列中第四行的值为 null。

本文使用示例数据来演示如何使用左外连接执行合并操作。 此示例的示例源表包括:

  • 销售:此表包括字段 日期国家ID单位CountryID 是一个整数值,表示 国家/地区 表中的唯一标识符。

    包含 Date、CountryID 和 Units 列的 sales 表的屏幕截图,其中的 CountryID 在第 1 行和第 2 行中设置为 1,在第 3 行中设置为 3,在第 4 行中设置为 4。

  • 国家/地区:此表是一个引用表,其中包含字段 IDCountryID 字段表示每个记录的唯一标识符。

    左外部联接的示例 Country 表的屏幕截图。

    在国家/地区表中,第1行设置ID为1,国家为美国;第2行设置ID为2,国家为加拿大;第3行设置ID为3,国家为巴拿马。

在此示例中,将这两个表合并为左表 Sales 表,国家/地区 表作为右表。 在以下列之间进行了联接。

Sales 表中的字段 Countries 表中的字段
CountryID 身份识别码

目标是创建如下所述的表:只要 CountryID 存在于 Countries 表中,国家/地区名称就会作为新的 Country 列显示在 Sales 表中。 如果左右表之间没有匹配项,则 null 值是该行的合并结果。 在下图中,对于 CountryID 4(取自 Sales 表)显示了此 null 值

屏幕截图显示了左外部联接的最终表,其中添加了 Country 列,该列第四行的值设置为 null。

若要执行左外部联接,请执行以下操作:

  1. 选择“Sales”查询,然后选择“合并查询”。
  2. 在“合并”对话框中的“用于合并的右表”下,选择“Countries”。
  3. 在“Sales”表中,选择“CountryID”列。
  4. 国家/地区 表中,选择 ID 列。
  5. 在“联接类型”部分,选择“左外部联接”。
  6. 选择“确定”。

合并对话框的屏幕截图,其中选择了“CountryID”列、“ID”列和“左外部联接”按钮。

在新建的“国家/地区” 列中,展开“国家/地区”字段。 请不要选中“使用原始列名作为前缀”复选框。

“Country”表列已展开的屏幕截图。

执行此作后,将创建如下图所示的表。

最后一个表的屏幕截图,其中添加了“国家/地区”列,该列的第四行的值设置为 null。