分享

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

 PowerBI星球 2023-09-08 发布于河南
之前介绍过部门变动的分析,将部门匹配到数据表中,用的是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星球的最新版内容合辑,值得你收藏学习:
「PowerBI星球」内容合集


如果你想深入学习Power BI,欢迎加入我的PowerBI学习社群
,获取更多学习资源,和5000+ 爱好者一起精进~

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多