左外部联接
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 和 Country 的引用表。 ID 字段表示每个记录的唯一标识符。
ID 设置为第 1 行 1、第 2 行 2 中的国家/地区表和第 3 行中的国家/地区表,第 1 行中将国家/地区设置为美国、第 2 行中的加拿大和第 3 行中的巴拿马。
在此示例中,将合并两个表,将“销售“”表作为左表,将“国家/地区”表作为右表。 在以下列之间建立联接。
“销售额”表中的字段 | “国家/地区”表中的字段 |
---|---|
CountryID | ID |
目标是创建如下所示的表,只要国家/地区表中存在 CountryID,国家/地区名称就会作为新的国家/地区列出现在销售额表中。 如果左表和右表之间没有匹配项,则该行合并后会出现 null 值。 在下图中,对于国家/地区 ID 4 的情况显示此 null 值,它是从“销售“”表中引入的。
若要执行左外部联接,请执行以下操作:
- 选择“销售额”查询,然后选择“合并查询”。
- 在“合并”对话框中的“待合并右表”下,选择“国家/地区”。
- 在“销售额”表中,选择“CountryID”列。
- 在“ 国家/地区 ”表中,选择 ID 列。
- 在“外联”部分,选择“左外部联接”。
- 选择“确定”。
从新建的“国家/地区”列展开“国家/地区”字段。 请勿选中“使用原始列名作为前缀”复选框。
执行此操作后,将创建如下图所示的表。