交叉联接

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

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

输入和输出表示例

对于此示例,示例源表为:

  • Product:一个包含你销售的所有一般产品的表。

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

  • Colors:一个包含库存中可能具有的所有颜色产品变体的表。

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

目标是使用这两个表执行交叉联接操作,以创建库存中可能具有的所有唯一产品的列表,如下表所示。 必须进行此操作,因为 Product 表只包含一般产品名称,未提供查看所存在的具体产品变体(如颜色)所需的详细信息级别。

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

执行交叉联接

若要在 Power Query 中执行交叉联接操作,请先转到 Product 表。 从功能区的添加列选项卡中,选择自定义列。 有关详细信息,请转到添加自定义列

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

自定义列对话框中,在新建列名称框中输入想要的任何名称,然后在自定义列公式框中输入 Colors

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

重要

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

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

自定义列对话框中选择确定后,新列会添加到表中。 在新列标题中,选择“展开”( ) 以展开此新建列的内容,然后选择“确定”。

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

选择“确定”后,即可完成创建一个包含“产品”和“颜色”所有可能组合的表这一目标。

包含三种产品(衬衫、牛仔裤和裤子)的最终表的屏幕截图,每种产品都有四种颜色(红色、蓝色、黑色和白色)。