You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerBI中合并两个文件并保留所有列实现数据对比的方法咨询

操作步骤
  1. 确认两个文件导入Power Query后,分别命名为Previous和Current,提前校验两个表的ID列格式完全一致(同为整数或同为文本格式,避免格式不匹配导致关联失败)
  2. 选中Previous查询,点击「主页」选项卡下的「合并查询」→「将查询合并为新查询」
  3. 在弹出的配置窗口中完成以下设置:
    • 上方表区域选Previous,点击选中ID列作为匹配键
    • 下方表区域选Current,点击选中ID列作为匹配键
    • 联接种类按需选择:
      • 仅保留两个表都存在的ID,选「内部(仅限匹配行)」
      • 保留任意一个表出现过的所有ID,选「完全外部(两者中的所有行)」
    • 确认设置后生成新的合并查询
  4. 点击合并表中Current结构化列右上角的展开按钮,在弹出选项中:
    • 取消勾选「ID」,避免生成重复ID列
    • 取消勾选「使用原始列名作为前缀」,手动给剩余两个字段添加前缀Current.,得到Current.Status、Current.Date_Changed
  5. 选中原Previous表自带的Status、Date_Changed列,右键重命名为Previous.Status、Previous.Date_Changed
  6. 若使用完全外部联接,部分ID对应的Previous或Current字段可能为空,按需替换空值或筛选无效行后即可得到目标输出
M代码参考

如果熟悉M代码操作,可直接新建空白查询,打开高级编辑器粘贴以下代码,按需调整字段名即可直接生成结果:

let
    关联表 = Table.NestedJoin(Previous, {"ID"}, Current, {"ID"}, "Current", JoinKind.FullOuter),
    展开Current字段 = Table.ExpandTableColumn(关联表, "Current", {"Status", "Date_Changed"}, {"Current.Status", "Current.Date_Changed"}),
    重命名原有字段 = Table.RenameColumns(展开Current,{{"Status", "Previous.Status"}, {"Date_Changed", "Previous.Date_Changed"}})
in
    重命名原有字段

内容的提问来源于stack exchange,提问作者ScottCee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:24:04