PowerQuery系列(10)-合并查询多字段关联技巧
本篇介绍的合并查询的时候,需要多个字段关联作为连接条件的操作技巧。Excel Vlookup 函数可以进⾏多列作为条件的关联,但已经需要⾼级操作技巧,在 Power Query (PQ) 中实现则⾮常简单,⽅法基本上和上篇⼀样。
我设计了⼀个假想的案例:假设公司有两个仓库 #1002 和 #2001,在销售出库的时候,需要⾃动先从 1001 仓库出库,如果1001 仓库数量不够,剩下部分从 2001 出库。如下图所⽰。以 B180RBK 为例,销售 7 只,1001 库位只有 1 只,所以先将 1001 的 1 只扣掉,然后再从 2001 扣除余下的 6 只。
物料库存数据和销售数量数据放在 Excel ⼯作表中,根据这两个表数据,在 PQ 中创建两个查询:
多列vlookup函数的使用方法- materialqty: 库存数量
- delivery : 销售出库数量
delivery 查询只有 MaterialNo 字段,缺少仓位字段,为了⽅便后⾯使⽤合并查询,基于 delivery 查询新建两列,分别为 wh1001 和
wh2001:
切换到【添加列】选项卡,选择【⾃定义列】,定义 wh1001 字段如下:
⽤同样的⽅法添加⼀个⾃定义列 wh2001。完成后 delivery 查询的显⽰界⾯如下:
接下来通过合并查询建⽴与 materialqty 查询的连接。选中 delivery 查询后,点击【主页】选项卡中的【合并查询】,在合并查询界⾯中:
step 1:选中 delivery 查询的 MaterialNo 和 wh1001 字段,因为要同时选中两列,使⽤ Ctrl 键与⿏标⼀起操作,Ctrl ⽤于选中不连续列,Shift ⽤于选中连续列。
step 2:在界⾯中间部分选择第⼆个查询表 materialqty,表⽰ delivery 要和 materialqty 进⾏连接
step 3:选中 materialqty 查询的 MaterialNo 和 StorageLocation 列,这两列是与 delivery 查询进⾏连接的关联条件:
- delivery.MaterialNo = materialqty.MaterialNo
- delivery.wh1001 = materialqty.StorageLocation
Step 4: 使⽤左连接,这是 PQ 连接的默认选项
然后点击确定按钮,回到查询编辑器。这是本篇操作的重点,给出操作步骤的动图:
MaterialQty 列是⼀个结构化列,对这⼀列进⾏展开操作,保留 Qty 字段即可:
将 Qty.1 字段改名为 Qty1001。然后⽤同样的⽅法,再次与 materialqty 查询进⾏⼀次查询合并,获取 2001 库位的库存数量。完成本步骤,查询设计器的界⾯如下:
添加⼀个⾃定义列,计算 wh1001 的出库数量:
然后再计算 wh2001 的出库数量:
删除不需要在输出中显⽰的列,⽐如:wh1001、wh2001、Qty1001 和 Qty2001。完成本步骤后,查询编辑器的界⾯如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论