7、Power Query-合并查询

Power Query合并查询——比VLOOKUP函数更强更智能

比如我们有两个工作表,一个“销售记录”一个“单价表”,我们要来汇总所有产品的销售总额和平均额,如下图:


这个时候我们就可以用到一个强大的功能,比Vlookup好用多了,Vlookup每次增加还要拖动,烦死了,用了这个,一劳永逸。

合并查询


这里就需要两个表进行链接了,让他们从此有了一个对应,现在我们还选不了,为什么,还没有创建一个“销售记录”一个“单价表”的连接啊。

我们依次对两个表进行创建链接,之前的内容中我们已经提到如何创建。


我们改一个名称,直接保存为一个连接。


同样的对另一个表进行操作。

完毕之后,我们发现两个表现在都在右侧了。


之后我们就可以使用合并功能了。


注意我们要选择对应列,选择正确的连接种类,这里我们第一个销售记录表里面的所有行需要对应单价表里面的单价,所以我们选择:

左外部(第一个中的所有行,第二个中的匹配行)


我们对它进行扩展,我们只需要扩展“单价”一列就ok了。

然后我们添加我们所需要的列——“金额”。

添加列


这个时候我们就可以关闭上载,创建连接,然后随便用什么方式去处理了。


不如我们还是在分组依据里面做吧。

右击这个链接,点击“编辑”。



保存结果。然后我们可以右击,加载到指定地点。





### Power Query合并查询时去重的方法 在处理数据的过程中,常常需要先合并多个查询再去除重复项以确保最终的数据集既全面又无冗余。当涉及到Power Query中的操作时,可以按照以下方式实现这一目标。 #### 合并查询 为了将不同来源的数据组合在一起,在Power Query 查询编辑器中可以选择【主页】| 【合并查询】 | 【将查询合并为新查询】选项,指定要关联的两张表以及共同的关键字段,比如店铺名称,并设置合适的连接类型如“左外部”,这一步骤能够有效地把来自多张表格的信息集中起来[^1]。 ```m let Source = Table.NestedJoin(TableA,{"KeyColumn"},TableB,{"KeyColumn"},"NewColumnName",JoinKind.LeftOuter), Expanded = Table.ExpandTableColumn(Source, "NewColumnName", {"DesiredColumn"}) in Expanded ``` 此段M语言代码展示了如何通过`NestedJoin`函数来执行基于特定键列(这里假设为`KeyColumn`)的左外连接,并展开右侧表的相关列至左侧表中。 #### 去除重复项 完成合并之后,如果存在重复记录,则需进一步清理这些多余的条目。对于想要针对某一具体列(例如城市名)实施去重的情况: - 进入Power Query查询编辑器; - 选中待处理的城市列; - 使用鼠标右键菜单选取【删除重复项】命令; 该动作会自动筛选掉那些具有相同值但在列表中多次出现的项目,只保留首次遇到的那个实例[^3]。 另外一种方法是在加载阶段就控制好唯一性约束,即利用SQL语句或其他ETL工具特性预先过滤输入流里的重复实体,从而减少后续工作量。 #### 组合应用:合并后再去重 有时可能希望先做一次初步汇总然后再考虑怎样消除潜在冲突。此时可以在上述基础上增加额外步骤,即先按一定逻辑拼接所需资料形成临时视图,接着依照业务需求挑选出独一无二的部分作为输出结果的一部分。 综上所述,无论是单独进行还是联合运用这两种技术手段都能很好地满足实际场景下的数据分析要求。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP剑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值