如何使用DAX实现收入的Expansion、Recurrent、New Customer及收入损失的Reduction、Churn分解?
如何使用DAX实现收入的Expansion、Recurrent、New Customer及收入损失的Reduction、Churn分解?
嘿,我来帮你搞定这个DAX的收入分解需求!先理清楚你的业务逻辑,咱们一步步写对应的度量值就行~
首先假设你的数据模型已经搭好:有标记为日期表的日期维度、客户维度表,还有包含Client(客户)、Date(日期)、Revenue(收入)的事实表。咱们先写一个基础度量来获取客户上月的收入,后面的分解都要用到它:
Previous Month Revenue = CALCULATE( SUM('Fact Table'[Revenue]), DATEADD('Date Table'[Date], -1, MONTH) )
这个度量的作用是,在当前的日期上下文里,计算每个客户上一个月的收入总和,用DATEADD来把日期往前推一个月。
接下来逐个实现你需要的分解项:
收入增长类分解
New Customer(新客户收入)
新客户的逻辑是上月没收入、本月有收入,那本月的收入全部算新客户收入:
New Customer Revenue = VAR CurrentMonthRevenue = SUM('Fact Table'[Revenue]) VAR PrevMonthRevenue = [Previous Month Revenue] RETURN IF( ISBLANK(PrevMonthRevenue) && NOT(ISBLANK(CurrentMonthRevenue)), CurrentMonthRevenue, 0 )
Recurrent(经常性收入)
只要客户上月和本月都有收入,取两者中较小的那个值作为经常性收入:
Recurrent Revenue = VAR CurrentMonthRevenue = SUM('Fact Table'[Revenue]) VAR PrevMonthRevenue = [Previous Month Revenue] RETURN IF( NOT(ISBLANK(CurrentMonthRevenue)) && NOT(ISBLANK(PrevMonthRevenue)), MIN(CurrentMonthRevenue, PrevMonthRevenue), 0 )
Expansion(扩张收入)
当本月收入比上月高时,两者的差值就是扩张收入:
Expansion Revenue = VAR CurrentMonthRevenue = SUM('Fact Table'[Revenue]) VAR PrevMonthRevenue = [Previous Month Revenue] RETURN IF( NOT(ISBLANK(CurrentMonthRevenue)) && NOT(ISBLANK(PrevMonthRevenue)) && CurrentMonthRevenue > PrevMonthRevenue, CurrentMonthRevenue - PrevMonthRevenue, 0 )
收入损失类分解
Reduction(收入减少)
如果本月收入比上月低,两者的差值就是减少的收入:
Reduction Revenue = VAR CurrentMonthRevenue = SUM('Fact Table'[Revenue]) VAR PrevMonthRevenue = [Previous Month Revenue] RETURN IF( NOT(ISBLANK(CurrentMonthRevenue)) && NOT(ISBLANK(PrevMonthRevenue)) && CurrentMonthRevenue < PrevMonthRevenue, PrevMonthRevenue - CurrentMonthRevenue, 0 )
Churn(客户流失收入)
上月有收入但本月完全没有,那上月的收入就是流失的收入:
Churn Revenue = VAR CurrentMonthRevenue = SUM('Fact Table'[Revenue]) VAR PrevMonthRevenue = [Previous Month Revenue] RETURN IF( ISBLANK(CurrentMonthRevenue) && NOT(ISBLANK(PrevMonthRevenue)), PrevMonthRevenue, 0 )
你可以把这些度量放到报表里,按客户和月份分组查看,就能清晰看到每个客户的收入构成和损失情况啦~
备注:内容来源于stack exchange,提问作者Marcelo Navarro
相关产品推荐
相关产品推荐

