合并时,通常会联接 Excel 中或外部数据源中的两个查询。 此外,合并功能具有直观的用户界面,可帮助你轻松联接两个相关表。 有关将订单详细信息查询中的总销售额合并到产品表中的示例,请参阅 学习合并多个数据源教程。
警告: “隐私级别”防止用户不经意组合可能属于专用或组织级别的多个数据源中的数据。 根据查询,用户可能意外将专用数据源中的数据发送到另一个可能恶意的数据源。 Power Query 分析每个数据源,并将其归类到已定义的隐私级别:公共、组织和私有。 有关隐私级别的详细信息,请参阅 设置隐私级别。
合并查询从两个现有查询创建新查询。 一个查询结果包含主表中的所有列,其中一列充当单个列,其中包含与辅助表的关系。 相关表中包含基于一个公共列值与主表中每一行匹配的所有行。 “展开”操作将相关表中的列添加到主表中。
合并操作有两种类型:
-
嵌入合并 将数据合并到现有查询中,直到获得最终结果。 结果是当前查询末尾的新步骤。
-
中间合并 为每个合并操作创建新查询。
若要查看“ 查询依赖项 ”对话框中关系的可视表示形式,请选择“ 查看 > 查询依赖项”。 在对话框底部,选择“ 布局” 命令以控制关系图方向。
至少需要两个可以合并的查询,并且至少有一个或多个列要在联接操作中匹配。 它们可以来自不同类型的外部数据源。 以下示例使用“产品”和“总销售额”。
-
若要打开查询,请找到以前从Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询 > 编辑”。 有关详细信息 ,请参阅在 Excel 中创建、加载或编辑查询。
-
选择“ 主页 ”> “合并查询”。 默认操作是执行内联合并。 若要执行中间合并,请选择命令旁边的箭头,然后选择“ 合并查询”作为“新建”。
此时将显示“ 合并 ”对话框。 -
从第一个下拉列表中选择主表,然后通过选择列标题来选择联接列。
-
从下一个下拉列表中选择相关表,然后通过选择列标题来选择匹配的列。
确保在主要表和相关表或辅助表的预览中选择要匹配的列数相同。 列比较基于每个表中的选择顺序。 匹配列必须具有相同的数据类型,例如 Text 或 Number。 还可以选择要合并的多个列。 -
从主表和相关表中选择列后,Power Query显示顶部行集中的匹配项数。 此操作将验证 合并 操作是否正确,或者是否需要进行更改才能获取所需的结果。 可以选择不同的表或列。
-
默认联接操作是内部联接,但可以从“ 联接类型 ”下拉列表中选择以下联接操作类型:
内部联接 仅从主表和相关表中引入匹配行。
左外部联接 保留主表中的所有行,并从相关表中引入任何匹配行。 右外部联接 保留相关表中的所有行,并从主表中引入任何匹配的行。 完全外部 引入主表和相关表中的所有行。 左反联接 仅引入主表中没有相关表中任何匹配行的行。 右反联接 仅引入主表中没有任何匹配行的相关表中的行。 交叉联接 通过将主表中的每一行与相关表中的每一行组合在一起,返回两个表中行的笛卡尔乘积。 -
如果要执行模糊匹配,请选择“使用模糊匹配”执行合并,并从“ 模糊匹配”选项中进行选择。 有关详细信息,请参阅 创建模糊匹配。
-
若要仅包含主表中与相关表匹配的行,请选择“ 仅包含匹配行”。 否则,主表中的所有行都包含在生成的查询中。
-
选择“确定”。
结果
执行合并操作后,可以展开表结构化列,将相关表中的列添加到主表中。 将列展开到主表中后,您可以应用筛选和其他转换操作。 有关详细信息,请参阅 使用列表、记录或表结构化列。
-
在“数据预览”中,选择 NewColumn 列标题旁边的“展开 ”图标。
-
在 “展开 ”下拉框中,选择或清除列以显示所需结果。 若要聚合列值,请选择“ 聚合”。
-
可能需要重命名新列。 有关详细信息,请参阅 重命名列。