[PowerBI]两种方法计算每月或每季开发的新客户数量

21 篇文章 5 订阅

12月追加:欢迎加入知乎【微软BI技术圈】,一起讨论、分享包括PowerBI在内的一切BI话题!

两种方法计算每月或每季开发的新客户数量

简述

客户分析中,有时你可能需要分析每隔一段时间有多少新客户流入(同样地,有多少老客户流失),有时可能需要通过新客户开发数量来对员工绩效进行考核等等,对于此,本文分享了两种不同的DAX写法来计算新客户开发数。

过程

数据表(部分)如下:
在这里插入图片描述
方法一

首先把订单按照客户ID和下单时间划分为"首单"和"非首单",然后计算每个月有多少个客户的订单被标记为"首单",那么这就代表每个月流入的新客户数量。
首先进行订单划分(此处原理参考本文):

二次购买判断 = 
VAR
E_Date = 'Data'[订单日期]
VAR
CUST = 'Data'[客户 ID]
RETURN
IF(
    SUMX(
        FILTER('Data',CUST = 'Data'[客户 ID]&&E_Date > 'Data'[订单日期]),
        COUNTROWS('Data'))>0,"非首次","首次")

然后,计算新客户流入数量

每月新增客户数 = 
CALCULATE(
    DISTINCTCOUNT(Data[客户 ID]),'Data'[二次购买判断] = "首次")

效果如下:
此图未指定年份,仅用于展示效果
在这里插入图片描述
方法二

这种方法的原理类似于差分,用截至该月份为止的客户数减去到上个月为止的客户数得出该月的新增客户数,如需计算每季增加数,MONTH改为QUARTER即可:
关于EXCEPT函数

每月新增客户数 2 = 
VAR
X = -1
VAR
CUST = VALUES('Data'[客户 ID])
VAR
Pre_CUST = 
CALCULATETABLE(VALUES('Data'[客户 ID]),
    FILTER(ALL('Data'),
        Data[订单日期]>DATEADD('Data'[订单日期],X,MONTH)
        &&'Data'[订单日期]<MIN('Data'[订单日期])))
RETURN
COUNTROWS(
    EXCEPT(CUST,Pre_CUST))

效果如下:
在这里插入图片描述

其他

第一种方法不在公式内考虑时间间隔,而是在正常时间轴筛选下进行日,周,月或季的转换。第二种方法则需要在公式内部指定时间间隔,尽管正常的时间轴对它的筛选依然有效。当然,也可以通过传参的方式在可视化界面切换数据的时间间隔。

  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DAVIS-BI

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

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

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

打赏作者

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

抵扣说明:

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

余额充值