内部联接

Power Query “合并”对话框中可用联接类型之一是内部联接,该功能仅引入左表和右表中的匹配行。 详情请见:合并操作概述

内联示例。

图显示了带有 Date、CountryID 和 Units 列的左表。 强调的 CountryID 列在第 1 行和第 2 行中的值为 1,在第 3 行中的值为 3,在第 4 行中的值为 2。 右表包含 ID 和国家/地区列。 强调的 ID 列第 1 行值为 3(表示巴拿马),第 2 行值 为 4(表示西班牙)。 前两个表下方的表包含日期、CountryID、单位和国家/地区列,但巴拿马只有一行数据。

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

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

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

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

    第 1 行中 ID 设置为 3 的国家/地区表的屏幕截图,第 2 行中第 4 行设置为巴拿马,第 2 行中设置为巴拿马。

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

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

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

包含 Date、CountryID、Units 和 Country 列标题以及巴拿马国家/地区单行数据的最终内部联接表的屏幕截图。

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

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

合并对话框的屏幕截图,其中显示了遵循上一个内部联接过程的结果。

提示

仔细查看对话框底部的消息,该对话框底部显示“所选内容与两个表中的 1 行匹配”。此消息对于了解从此操作中获得的结果至关重要。

在“销售额”表中,有一个 CountryID 为 1 和 2,但在“国家/地区”表中却找不到这两个值。 因此,匹配项在左侧(第一个)表中只找到了四行中的一行。

“国家/地区”表中,有 ID 为 4 的国家/地区西班牙,但在“销售”表中没有 CountryID 为 4 的记录。 因此,右侧表(第二个)表中只有一行找到了匹配项。

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

已展开的表选项的屏幕截图,其中选择了“国家/地区”列。

执行此操作后,生成的表如下图所示。

最后一个表的屏幕截图,其中日期、CountryID、Units 和 Country 列标题,以及巴拿马国家/地区的单行数据。