热线电话:13121318867

登录
2023-07-14 阅读量: 672
Power BI 制作动态 RFM模型

1.计算R值

新建度量值


业务最新日期 = CALCULATE(MAX(‘ResellerSales’[ShipDate]),ALLSELECTED(ResellerSales[ResellerKey]))

这里使用 allselected 清楚了行列上的筛选,保留了其他筛选器里的筛选,也就是切片器上的筛选依旧生效,算切片器筛选后的ResellerKey的“R间隔天数”的平均值。具体介绍可以查看微软DAX函数说明

https://learn.microsoft.com/zh-cn/dax/allselected-function-dax


R间隔天数 = DATEDIFF(MAX(‘ResellerSales'[ShipDate]),'度量FRM表'[业务最新日期],DAY)


R平均间隔天数 = AVERAGEX(ALLSELECTED('ResellerSales'[ResellerKey]),'度量FRM表'[R间隔天数])


R值 = IF(ISBLANK(‘度量FRM表'[R间隔天数]),BLANK(),IF('度量FRM表'[R间隔天数]<'度量FRM表'[R平均间隔天数],1,0))

2.计算F值

F消费次数 = DISTINCTCOUNT(‘ResellerSales'[SalesOrderNumber])


F平均消费次数 = AVERAGEX(ALLSELECTED(‘ResellerSales'[ResellerKey]),'度量FRM表'[F消费次数])


F值 = IF(ISBLANK(‘度量FRM表'[F消费次数]),BLANK(),IF('度量FRM表'[F消费次数]>'度量FRM表'[F平均消费次数],1,0))


3.计算M值

M消费金额 = SUM(‘ResellerSales'[SalesAmount])


M平均金额 = AVERAGEX(ALLSELECTED(‘ResellerSales'[ResellerKey]),'度量FRM表'[M消费金额])


M值 = IF(ISBLANK(‘度量FRM表'[M消费金额]),BLANK(),IF('度量FRM表'[M消费金额]>'度量FRM表'[M平均金额],1,0))


4.合并RFM


RFM = '度量FRM表'[R值]&'度量FRM表'[F值]&'度量FRM表'[M值]


经销商非重复计数 = DISTINCTCOUNT(‘ResellerSales'[ResellerKey])


5.确定客户类型

在数据视图界面 新建列

RFM_value = CALCULATE(‘度量FRM表’[RFM],ALLEXCEPT('ResellerSales','ResellerSales'[ResellerKey]))


ALLEXCEPT 表示除了ResellerSales’[ResellerKey] 其他筛选都被取消了,具体看 https://learn.microsoft.com/zh-cn/dax/allexcept-function-dax


再次新建列

RFM类别 = SWITCH(‘ResellerSales'[RFM_value],"111","重要价值客户","011","重要保持客户","101","重要发展客户","001","重要挽留客户","110","一般价值客户","010","一般保持客户","100","一般发展客户","000","一般挽留客户")


每个客户的RFM类别已经确定好了 如下图所示

image.png

6.建立视觉对象

image.png


image.png






480.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子