今天分享一個不錯的案例娜庇。
最近同事問我一個問題:如何準確計算以下情景中的季度再登、半年度、年度數(shù)據(jù)付秕?具體情景如下:以當前篩選月份為時間點兰珍,如果月份小于篩選月份,取用A表對應月份的數(shù)據(jù)询吴;如果月份大于等于篩選月份掠河,取用B表對應的數(shù)據(jù)。
其實這種問題猛计,一般會出現(xiàn)在結(jié)合展示事實銷量數(shù)據(jù)和預測銷量數(shù)據(jù)的情況唠摹。如果您也遇到類似的問題,可以看一下我以下的分享哦奉瘤。
表A:實際銷量表:存放201707-201907的月銷量數(shù)據(jù)
表B:銷量預測表:存放201801-202001的月預測數(shù)據(jù)
如下表數(shù)據(jù)勾拉,當篩選器yearmonth選擇某一個月的數(shù)據(jù),表中的下面4個value分別的取值邏輯如下:
Past Month Value: 取篩選月份的上一個月的實際銷量數(shù)據(jù)(GMV)
Current Month Value: 取篩選月份的銷量預測數(shù)據(jù)(forcast)
Quater Value: 根據(jù)篩選器yearmonth選擇的月份得到改月份對應的季度盗温,進而得到該季度對應的3個月份藕赞,這3個月份中,如果月份小于等于篩選器yearmonth選擇的月份卖局,實際銷量數(shù)據(jù)(GMV)斧蜕;否則,取銷量預測數(shù)據(jù)(forcast)砚偶。確認取值后批销,把這3個月的GMV和forcast數(shù)據(jù)加起來,得到Quater Value值染坯。
Half Year Value: 取值邏輯跟Quater Value一樣均芽。把3個月改成6個月即可。
以上4個value值在業(yè)務上的意義:
如果當月是201907月单鹿,從下表中的4個value值可以看到:上個月(201906)的實際銷售情況掀宋、本月(201907)的銷售目標情況(預測)、結(jié)合實際銷售數(shù)據(jù)和預測數(shù)據(jù)預測出本季度(201907-201909)/本半年度(201907-201912)的銷售情況。
好了布朦,這個案例的基本業(yè)務意義跟大家先分享了囤萤。那么具體是怎么用power BI來實現(xiàn)的呢,請看下面的具體操作步驟是趴。
第一步:建立以下模型
這個模型的原理是根據(jù)篩選器yearmonth選擇的月份涛舍,找到這個月份對應的quater(季度)和halfyear(半年度),再根據(jù)找到quater(季度)和halfyear(半年度)在銷量表和預測表中找到quater(季度)和halfyear(半年度)的月份唆途。
大家可以看到這個模型中富雅,有2個實際銷量表和2個銷量預測表。2個實際銷量表的數(shù)據(jù)是完全一樣的肛搬,2個銷量預測表的數(shù)據(jù)也是完全一樣的没佑。那為什么要建2個完全一樣的銷量表和預測表呢?
因為計算half year value和quater value的月份數(shù)不一樣温赔。如果用同一個銷量表來計算quater? value和half year value蛤奢,計算出來的half year value值就不對了。具體大家可以在各自實操上去好好感受下哈~
第二步:建立好模型之后陶贼,新建4個度量值如下
Past Month Value = CALCULATE(SUM('實際銷量表-Q'[GMV]),ALL('dim-calendar'[Yearmonth]),'實際銷量表-Q'[Date] = VALUES('dim-month'[past month date]))
Current Month Value = CALCULATE(SUM('實際銷量表-Q'[GMV]),'實際銷量表-Q'[Date] = VALUES('dim-month'[Date]))
Quater Value = IF(HASONEVALUE('dim-calendar'[YEARMONTH]),CALCULATE(SUM('實際銷量表-Q'[GMV]), '實際銷量表-Q'[YEARMONTH]<VALUES('dim-month'[YEARMONTH])) +CALCULATE(SUM('銷量預測表-Q'[FORCAST]),'銷量預測表-Q'[YEARMONTH]>=VALUES('dim-month'[YEARMONTH])))
Half Year Value = IF(HASONEVALUE('dim-month'[YEARMONTH]),CALCULATE(SUM('實際銷量表-HF'[GMV]),'實際銷量表-HF'[YEARMONTH]<VALUES('dim-month'[YEARMONTH])) +CALCULATE(SUM('銷量預測表-HF'[FORCAST]),'銷量預測表-HF'[YEARMONTH]>=VALUES('dim-month'[YEARMONTH])))
到了這里啤贩,大功告成。就剩下圖表展示了拜秧。
當然痹屹,大家還可以結(jié)合同比、環(huán)比等指標做進一步的分析枉氮。例如:同比(今年的預測值對比去年的實際值)還是挺有意思的志衍。如果大家對這個案例還有一些什么想法,歡迎留言跟我討論~
好了聊替,今天的分享到這里楼肪。如果對這個技能有興趣的話,可以下載我的模型進行參考哦
鏈接:https://pan.baidu.com/s/1VK540mgUSAc4D7xVksPWUg
提取碼:ui4w