sql 计算周环比wow_通过对周进行编号计算周环比(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 BI,歡迎登錄網易云課堂試聽學習我們的“從Excel到Power BI數據分析可視化”系列課程。或者關注我們的公眾號(PowerPivot工坊)后猛戳”在線學習”
總結
以上是生活随笔為你收集整理的sql 计算周环比wow_通过对周进行编号计算周环比(WOW)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IEEE与APA引用格式
- 下一篇: 层次结构类毕业论文文献都有哪些?