通過對周進行編號計算周環比(WOW)
上周我們分享了如何在Power Pivot中對月份進行編號,今天我們和大家一起看一下如何通過對周進行編號,來計算周環比(WOW)。
先來看一下我們的示例模型:
模型由銷售記錄表和日期表組成,我們已經創建了銷售金額的度量值:
銷售金額:=SUM([金額])
接下來我們在日期表裡對周進行編號。最簡單的編號方式是通過WEEKNUM進行,但這個方法會遇到跨年的問題-如果一周跨兩年則無法正常計算。所以我們今天介紹另外一種方法:
先通過WEEKDAY把周幾的信息提取出來:
=WEEKDAY(日期表[日期],2)
注意WEEKDAY的第二個參數選2,每周從周一開始,這樣符合中國用戶的習慣。
接下來我們再通過公式提取出每周對應的周開始日期:
=CALCULATE(MAX(日期表[日期]),FILTER(ALL(日期表),日期表[第幾周]=1&&日期表[日期]<=EARLIER(日期表[日期])))
示例的日期表是從2014年1月1日開始,所以對於前幾天沒有周開始日期,這個不影響我們後面的周編號,所以忽略即可。
有了周開始日期,我們就可以通過對該日期排序來計算周編號了:
=RANKX(日期表,日期表[周開始日期],日期表[周開始日期],ASC,Dense)
注意升序(ASC)和連續排序(Dense)的參數使用。
這樣我們就得到了日期表裡所有日期的連續周排序編號,依據此編號可以進行關於周的計算。
要注意一點,如果一周分別在兩個月或兩年的情況,為了不讓周銷售額被切片,我們可以對周銷售額進行如下書寫:
周銷售額:=IF(HASONEVALUE(日期表[周編號]),CALCULATE(銷售記錄[銷售金額],FILTER(ALL(日期表),日期表[周編號]=VALUES(日期表[周編號]))))
大家注意看下圖第53周的數據,該周橫跨了2014和2015年,而我們的周銷售額可以正確顯示整周的數字。
同理,我們計算上周銷售額:
上周銷售額:=IF(HASONEVALUE(日期表[周編號]),CALCULATE(銷售記錄[銷售金額],FILTER(ALL(日期表),日期表[周編號]=VALUES(日期表[周編號])-1)))
周環比:
周環比:=DIVIDE(銷售記錄[周銷售額]-銷售記錄[上周銷售額],銷售記錄[上周銷售額])
下面是最終的效果:
有了連續的周編號後,我們即可進行多種基於周的時間智能計算。這就是我們今天的分享內容,更多Power Pivot時間智能函數的用法請參考我們的視頻課程- Excel Power Pivot數據建模分析(進階篇)。
*PowerPivot工坊原創文章,歡迎轉載,請註明出處
-----------------------------------------------------------------------------------------------------------------------
延伸閱讀:
Power Pivot時間智能之YTD(年初至今累計)
在Power Pivot里計算期初期末庫存
使用FORMAT函數進行日期提取和調整
一張圖看懂微軟Power BI系列組件
-----------------------------------------------------------------------------------------------------------------------
如果您想深入學習微軟Power BI,歡迎登錄網易雲課堂試聽學習我們的「從Excel到Power BI數據分析可視化」系列課程。或者關注我們的公眾號(PowerPivot工坊)後猛戳」在線學習」
推薦閱讀:
※[數據分析與可視化 1] - 圖表設計
※DataHunter榮獲2017年度大數據行業優秀創新產品獎
※ray的數據新聞學習日記(五):其實想成為數據新聞記者究竟需要學什麼?
※DataHunter創始人程凱征:數據可視化的趨勢和應用
※Excel繪製多種風格「面積圖」