通过


交叉联接

交叉联接是一种联接类型,它从联接中的表中返回行的笛卡尔乘积。 换句话说,它将第一个表中的每一行与第二个表中的每一行组合在一起。

本文演示了如何在 Power Query 中执行交叉联接的实际示例。

示例输入和输出表

对于此示例,示例源表包括:

  • 产品:一个表,其中包含你销售的所有通用产品。

    包含三种不同产品的示例 Product 表的屏幕截图。

  • 颜色:显示产品颜色变体的表格,可以用于库存管理。

    示例颜色表中包含四种不同颜色的屏幕截图。

目标是对这两个表进行交叉联接操作,以创建您可以在库存中拥有的所有唯一产品列表,如下表所示。 此操作是必需的,因为 Product 表仅包含通用产品名称,且不提供了解产品变体(如颜色)详细信息所需的细节。

交叉联接后的最后一个表的屏幕截图,其中列出了每个产品具有四种不同颜色,共 12 行。

执行交叉联接

若要在 Power Query 中执行交叉联接作,请执行以下步骤:

  1. 选择 “产品 ”表。

  2. 在功能区的“添加列”选项卡中,选择“自定义列”。 有关自定义列的详细信息,请转到 “添加自定义列”。

    “Power Query 添加列”选项卡的屏幕截图,其中突出显示了“自定义列”选项。

  3. “自定义列 ”对话框中,在 “新建列名称 ”框中输入所需的任何名称,并在 “自定义列公式 ”框中输入颜色表或查询的名称。 在我们的示例中,自定义列的名称是Custom,而我们的表/查询的名称是Colors

    交叉联接的自定义列对话框的屏幕截图,其中“自定义列公式”用“颜色”填充。

    重要

    如果查询名称中包含空格(如 “产品颜色”),则需要在 “自定义列公式 ”部分输入的文本必须遵循语法 #"Query name"。 对于 产品颜色,需要输入 #"Product Colors"

    可以在 “查询设置 ”窗格或 Power Query 的 “查询 ”窗格中检查查询的名称。

  4. 在“自定义列”对话框中选择“确定”。

  5. 在新列标题中,选择 “展开 ”( )以展开此新建列的内容,然后选择“ 确定”。

    展开的跨联接自定义列的屏幕截图。

  6. 您可以查看包含所有产品颜色可能组合的表格。

    最后一张表格的屏幕截图,其中包含三种产品(衬衫、牛仔裤和打底裤),其中列出了四种颜色(红色、蓝色、黑色和白色)。