内联

Power Query 的 “合并 ”对话框中可用的联接类型之一是 内部联接,它只引入来自左右表的匹配行。 更多信息:合并操作概述

内部联接示例。

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

本文使用示例数据来演示如何使用内连接进行合并操作。 此示例的示例源表包括:

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

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

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

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

在此示例中,将这两个表合并,将 Sales 表作为左表,将 “国家/地区 ”表合并为右表。 以下列之间进行了联接。

Sales 表中的字段 “国家/地区”表中的字段
CountryID ID

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

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

若要执行内部连接,请执行以下步骤:

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

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

小窍门

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

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

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

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

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

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

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