通過對周進行編號計算周環比(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繪製多種風格「面積圖」

TAG:PowerBI | 数据可视化 | 数据分析 |