右外部联接

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

右外部联接示例。

图中左侧的表包含日期、CountryID 和单位列。 强调的 CountryID 列在第 1 行和第 2 行中的值为 1,在第 3 行中的值为 3,在第 4 行中的值为 4。 右侧的表包含 ID 和国家/地区列,只有一行。 强调 ID 列第 1 行的值为 3(表示巴拿马)。 前两个表下方的表包含日期、CountryID、单位和国家/地区列。 该表有一行,CountryID 为 3,国家为巴拿马。

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

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

    销售表,其中包含“Date”、“CountryID”和“Units”列,“CountryID”的第 1 行和第 2 行设置为“1”,第 3 行设置为“3”、第 4 行设置为“4”。

  • 国家/地区:本表包含字段 ID国家/地区的参考表。 此 ID 字段表示每个记录的唯一标识符。

    仅包含单行的国家/地区表,其中“id”设置为 3,“Country”设置为“Panama”。

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

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

目标是创建如下所示的表,其中国家/地区的名称在“销售额”表中显示为新的“国家/地区”列。 由于右外部联接的工作原理,将引入右表中的所有行,但只保留左表中的匹配行。

右外部联接最终表,其中包含“Date”、“CountryID”、“Units”和“Country”标题列,以及“Panama”的单行数据。

若要执行右外部联接

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

“合并”对话框,显示遵循上一个右外部联接过程的结果。

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

展开“Countries”的表列。

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

最终表,其中包含“Date”、“CountryID”、“Units”和“Country”标题列,以及“Panama”的单行数据。