如何用PowerQuery解决部门变动问题?

您看看需不需要 2024-05-09 02:00:11

之前介绍过部门变动的分析,将部门匹配到数据表中,用的是DAX的方法,参考:PowerBI分析技巧:部门变动问题

最近有星友问,如果用PowerQuery来匹配部门,应该怎么做呢?

仍然以上面的数据为例,在pq中有个部门人员表,以及订单表。

只需要在订单表中添加一个自定义列,这个自定义列,还可以参考前面介绍的PQ变量的写法(PowerQuery中的“VAR变量”,你用过吗?):

let

date_=[日期],

name_=[业务员]

in

List.Max(

Table.SelectRows(

部门人员表,

(x)=>x[业务员]=name_ and

x[开始日期]<=date_ and

x[结束日期]>=date_

)[部门]

)

结果是完全一样的。

这个用M添加的自定义列,无论是写法还是逻辑,其实与DAX的逻辑是一致的。

都用了变量,都是从部门人员表中匹配对应的部门;匹配的逻辑都是找出业务员相同,并且日期在起止日期内的数据行,然后从该行中提取部门。只是DAX用的是FILTER函数来进行筛选,而M用的是 Table.SelectRows而已。

其实这个做法不仅仅是用于部门匹配,而是如果你遇到,需要用PowerQuery进行多条件的、无法用合并查询解决的匹配问题,都可以参考上面的思路。

如果数据量较大,使用PQ可能会比较慢,建议用DAX的方式来实现。

PowerBI星球

0 阅读:0

您看看需不需要

简介:感谢大家的关注