如何在Power Query中按条件合并表格,补充门店缺失产品
在Power Query中为每个门店补充缺失产品的实现方法
核心思路是先构建所有门店与所有产品的完整组合(笛卡尔积),再与原数据库表匹配补全已有产品信息,确保每个门店都对应全部产品。具体步骤如下:
步骤1:加载表格到Power Query
将Table1(数据库表)和Table2(产品主表)导入Power Query编辑器。
步骤2:提取唯一门店列表
- 选中Table1,选中
Store列,点击主页选项卡 → 移除重复项,得到仅包含唯一门店的表,命名为UniqueStores。
步骤3:生成门店与产品的完整组合
- 选中
UniqueStores表,点击主页 → 合并查询 → 将查询合并为新查询。 - 合并窗口中,选择Table2作为合并对象,不选择任何匹配列,合并类型选择交叉连接(Cross Join),点击确定。
- 展开合并后的
Table2列,仅保留Product字段,此时得到每个门店对应所有产品的完整列表,命名为StoreProductFullList。
步骤4:匹配原数据库表补全信息
- 选中
StoreProductFullList,点击合并查询,选择Table1作为合并对象,匹配列选择Store和Product,合并类型选择左外部。 - 展开合并后的Table1列(若原表有库存、价格等业务字段,可按需保留),原表中已有的产品会显示对应数据,缺失的产品则显示空值(可按需添加自定义列标记“未拥有”)。
步骤5:整理并导出结果
调整列顺序、处理空值后,点击关闭并上载,即可得到每个门店对应全部产品的最终表格。
为什么完全外部合并无法满足需求?
完全外部合并是基于两个表的匹配列做合并,只会将两边不匹配的行单独追加到表格底部,无法实现“每个门店都对应全部产品”的结构化组合;而交叉连接能先构建出所有可能的门店-产品配对,再通过左连接补全数据,才是符合需求的实现路径。
内容的提问来源于stack exchange,提问作者ConfusedUser
相关产品推荐
相关产品推荐

