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 是一个整数值,表示 国家/地区 表中的唯一标识符。
国家/地区:此表是一个引用表,其中包含字段 ID 和 Country。 ID 字段表示每个记录的唯一标识符。
在国家/地区表中,第1行设置ID为1,国家为美国;第2行设置ID为2,国家为加拿大;第3行设置ID为3,国家为巴拿马。
在此示例中,将这两个表合并为左表 Sales 表,国家/地区 表作为右表。 在以下列之间进行了联接。
Sales 表中的字段 | Countries 表中的字段 |
---|---|
CountryID | 身份识别码 |
目标是创建如下所述的表:只要 CountryID 存在于 Countries 表中,国家/地区名称就会作为新的 Country 列显示在 Sales 表中。 如果左右表之间没有匹配项,则 null 值是该行的合并结果。 在下图中,对于 CountryID 4(取自 Sales 表)显示了此 null 值。
若要执行左外部联接,请执行以下操作:
- 选择“Sales”查询,然后选择“合并查询”。
- 在“合并”对话框中的“用于合并的右表”下,选择“Countries”。
- 在“Sales”表中,选择“CountryID”列。
- 在 国家/地区 表中,选择 ID 列。
- 在“联接类型”部分,选择“左外部联接”。
- 选择“确定”。
在新建的“国家/地区” 列中,展开“国家/地区”字段。 请不要选中“使用原始列名作为前缀”复选框。
执行此作后,将创建如下图所示的表。