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.建立視覺對象








暫無數據