首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PowerBI技巧:动态提取数据的最后交易记录

平时经常被问到,如何把数据中最后一次交易记录提取出来?比如每个客户的最后一次下单记录,或者每个产品最后一次卖出记录等。

这个问题实现起来并不难,以这个简易的订单表为例:

如何将上表中每个客户的最后一次购买记录提取出来呢?

下面给出DAX和PowerQuery两种做法。

DAX方法

可以在这个表里新建一列,如果是最后一条记录,返回“是”,计算列写法如下:

最后下单记录=

VARlastdealdate=

  CALCULATE(

      MAX('订单表'[日期] ),

      ALLEXCEPT('订单表','订单表'[客户])

  )

RETURN

  IF( [日期]=lastdealdate , "是" )

这个计算列的逻辑是,先找出每个客户的最后一次下单日期,然后判断每一行该客户的订单日期是否等于最后下单日期,如果等于,就返回“是”。

这样就在订单表中新增了一列最后记录的标注,直接筛选就可以提取最后一次下单的记录表。

当然还可以用DAX新建表,一次性把最后下单记录提取出来。

逻辑是一样的,只是把计算列的表达式直接写在了计算表中。

PowerQuery方法

上面是用DAX来表达的,如果用PowerQuery应该怎么处理呢?

非常简单,只需要下面几个步骤:

1、日期列按升序排列

2、反转行

3、选中客户列,右键>删除重复项

即可得到每个客户的最后一条记录:

和前面DAX的处理结果一致。

PowerQuery方法要简单的多,只需要点几次鼠标就行了,但是如果客户在最后下单日期有多条记录,并且还都需要保留,那么用上面的PowerQuery方法就失效了,直接用DAX实现即可。

根据不同的业务场景选择用最合适的方法。

并且数据更新后,上面两种方法都可以自动显示更新后数据的最后一条记录。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200824A0A6QF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券