左外部联接

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

左外部联接示例关系图。

关系图显示包含“日期”、“国家/地区 ID”和“单位”列的左表。 强调的 CountryID 列在第 1 行和第 2 行中的值为 1,在第 3 行中的值为 3,在第 4 行中的值为 4。 关系图显示包含“ID”和“国家/地区”列的左表。 强调的 ID 列中,第 1 行的值为 1(表示美国),第 2 行的值为 2(表示加拿大),第 3 行的值为 3(表示巴拿马)。 前两个表下方的表包含日期、CountryID、单位和国家/地区列。 表有四行,前两行包含国家/地区 ID 1 的数据,一行包含国家/地区 ID 3 的数据,一行包含国家/地区 ID 4 的数据。 由于右表不包含 ID 为 4 的数据,国家/地区列中第四行的值为 null。

本文使用示例数据展示如何使用左外部联接进行合并操作。 本示例的源表示例为:

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

    “销售”表的屏幕截图,包含“日期”、“国家/地区 ID”和“单位”列,“国家/地区 ID”的第 1 行和第 2 行设置为 1,第 3 行设置为 3,第 4 行设置为 4。

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

    左外部联接的示例国家/地区表的屏幕截图。

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

在此示例中,将合并两个表,将“销售“”表作为左表,将“国家/地区”表作为右表。 在以下列之间建立联接。

“销售额”表中的字段 “国家/地区”表中的字段
CountryID ID

目标是创建如下所示的表,只要国家/地区表中存在 CountryID,国家/地区名称就会作为新的国家/地区列出现在销售额表中。 如果左表和右表之间没有匹配项,则该行合并后会出现 null 值。 在下图中,对于国家/地区 ID 4 的情况显示此 null 值,它是从“销售“”表中引入的。

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

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

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

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

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

“国家/地区”的展开表列的屏幕截图。

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

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