數據可視化之powerBI技巧(九)PowerBI按周進行業務分析的思路


按周進行數據分析,在零售業、電商等類型的公司中很常見,但是不少人覺得按周進行分析無從下手,一個主要的原因是找不到對應的函數,因為時間智能函數只對應年、季、月、天這幾個粒度,沒有關於周的時間智能函數。

沒有相應的函數當然也能搞定,本文就介紹幾種常見的周分析的思路,掌握后就可以靈活地進行各種時間分析。


 

進行周分析之前,我們首先應該構造含有周序列的日期表。

創建日期表

在日期表中,應該包含每個日期是周幾,以及屬於一年中的第幾周的數據,這里直接用DAX生成一個日期表,

 

日期表 =
ADDCOLUMNS(
ADDCOLUMNS (
CALENDAR (DATE(2016,1,1), DATE(2017,12,31)),
"年度", YEAR ( [Date] ),
"季度", "Q" & FORMAT ( [Date], "Q" ),
"月份", FORMAT ( [Date], "MM" ),
"日",FORMAT ( [Date], "DD" ),
"年度季度", FORMAT ( [Date], "YYYY" ) & "Q" & FORMAT ( [Date], "Q" ),
"年度月份", FORMAT ( [Date], "YYYY/MM" ),
"周幾", WEEKDAY ( [Date],2 ),
"周數",WEEKNUM([Date],2)
),
"年度周數",[年度]*100+[周數]
)

 

其中主要是兩個有關周的函數,WEEKDAY和WEEKNUM。

WEEKDAY返回當前日期是星期幾,其中第二個參數可以控制每周是從哪一天開始的,

  • 參數為1時:周日為第一天,編號為1到7.
  • 參數為2時:周一為第一天,編號為1到7.
  • 參數為3時:周日為第一天,編號為0到6.

 

WEEKNUM返回當前日期屬於當年的第幾周,其中第二個參數可以控制每周的第一天是周日還是周一,

  • 參數為1時:周日為第一天
  • 參數為2時:周一為第一天

 

每個單位進行周分析的習慣或者考核周期不一樣,就可以通過這兩個函數的參數,來調整周開始的時間。

這里我們使用國內常用的周一作為第一天。

 

 

 

 

並且為了使每年的周數具有唯一性,添加了年度周數的字段。有了這個日期表,進行各種周分析就很方便了。

 

上周同期

 

上周同期,就是上周的今天,比如今天是星期三,上周同期就是計算上個星期三的數據,其實就是向過去移動7天,那么度量值可以這樣寫:

 

上周同期 銷售額 =
CALCULATE(
[銷售金額],
DATEADD('日期表'[日期],-7,DAY)
)

 

 

 

 

 

本周至今

 

時間智能函數中有本年至今YTD、本季至今QTD和本月至今MTD,但沒有本周至今(可以稱為WTD),那么我們自己來構造一個WTD,實際就是周數相同的,小於等於當天的這幾日的數據;

 

本周至今WTD =
VAR curyearweek=SELECTEDVALUE('日期表'[年度周數])
RETURN
CALCULATE(
[銷售金額],
FILTER(
ALL('日期表'),
'日期表'[年度周數]=curyearweek
&&'日期表'[日期]<=MAX('日期表'[日期])
)
)

 

 

 

 

 

周環比

 

計算周環比,實際上就是本周數據和上周數據的對比,只要計算出上周累計的數據,周環比也就可以簡單的計算出來了。

 

上周累計 =
VAR curyear= SELECTEDVALUE('日期表'[年度])
VAR curweeknum=SELECTEDVALUE('日期表'[周數])
RETURN
CALCULATE(
[銷售金額],
FILTER(
ALL('日期表'),
'日期表'[年度]=curyear
&&'日期表'[周數]=curweeknum-1
)
)

 

周環比 = DIVIDE([銷售金額],[上周累計])-1

 

 

 

 

你可能注意到了,第一周的數據比較異常,主要是由於第一周沒有上期數據,並且第一周的天數很可能不完整,所以數據會比較異常。關於這個問題並沒有統一的解決方式,主要是根據自己公司的業務分析習慣,或者管理與考核的要求,進行具體的微調。

 

通過以上幾種常見的周分析思路,你應該感覺到對周進行分析並不難,熟練運用VAR和CALCULATE+FILTER+ALL函數組合,靈活篩選時間段,不僅是對周,對各種不規則的時間序列都可以進行靈活分析,當然,最重要的是,先構建一個滿足分析需要的日期表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM