nigel

2023-07-14   阅读量: 392

Power BI RFM DAX

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






添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
480.0000 2 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子