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类别已经确定好了 如下图所示
6.建立视觉对象
暂无数据