1.計算R值
新建度量值
業(yè)務(wù)最新日期 = CALCULATE(MAX(‘ResellerSales’[ShipDate]),ALLSELECTED(ResellerSales[ResellerKey]))
這里使用 allselected 清楚了行列上的篩選,保留了其他篩選器里的篩選,也就是切片器上的篩選依舊生效,算切片器篩選后的ResellerKey的“R間隔天數(shù)”的平均值。具體介紹可以查看微軟DAX函數(shù)說明
https://learn.microsoft.com/zh-cn/dax/allselected-function-dax
R間隔天數(shù) = DATEDIFF(MAX(‘ResellerSales'[ShipDate]),'度量FRM表'[業(yè)務(wù)最新日期],DAY)
R平均間隔天數(shù) = AVERAGEX(ALLSELECTED('ResellerSales'[ResellerKey]),'度量FRM表'[R間隔天數(shù)])
R值 = IF(ISBLANK(‘度量FRM表'[R間隔天數(shù)]),BLANK(),IF('度量FRM表'[R間隔天數(shù)]<'度量FRM表'[R平均間隔天數(shù)],1,0))
2.計算F值
F消費(fèi)次數(shù) = DISTINCTCOUNT(‘ResellerSales'[SalesOrderNumber])
F平均消費(fèi)次數(shù) = AVERAGEX(ALLSELECTED(‘ResellerSales'[ResellerKey]),'度量FRM表'[F消費(fèi)次數(shù)])
F值 = IF(ISBLANK(‘度量FRM表'[F消費(fèi)次數(shù)]),BLANK(),IF('度量FRM表'[F消費(fèi)次數(shù)]>'度量FRM表'[F平均消費(fèi)次數(shù)],1,0))
3.計算M值
M消費(fèi)金額 = SUM(‘ResellerSales'[SalesAmount])
M平均金額 = AVERAGEX(ALLSELECTED(‘ResellerSales'[ResellerKey]),'度量FRM表'[M消費(fèi)金額])
M值 = IF(ISBLANK(‘度量FRM表'[M消費(fèi)金額]),BLANK(),IF('度量FRM表'[M消費(fèi)金額]>'度量FRM表'[M平均金額],1,0))
4.合并RFM
RFM = '度量FRM表'[R值]&'度量FRM表'[F值]&'度量FRM表'[M值]
經(jīng)銷商非重復(fù)計數(shù) = DISTINCTCOUNT(‘ResellerSales'[ResellerKey])
5.確定客戶類型
在數(shù)據(jù)視圖界面 新建列
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","重要發(fā)展客戶","001","重要挽留客戶","110","一般價值客戶","010","一般保持客戶","100","一般發(fā)展客戶","000","一般挽留客戶")
每個客戶的RFM類別已經(jīng)確定好了 如下圖所示
6.建立視覺對象








暫無數(shù)據(jù)