在入門案例動態銷售報告中已經帶領大家入門制作PowerBI可視化報告。本文主題銷售業績分析將繼續針對入門案例進行進一步優化,讓大家更改的了解和掌握使用PowerBI的功能。優化內容主要有兩個:
1、數據分析層面:在可視化報告中單獨的一個銷售業績指標是沒有意義的,只有通過對比指標才能知道銷售業績指標的好壞。對比方法主要通過同指標不同時間的對比,通過PowerBI智能時間函數,可以更加方便的計算累計銷售額(YTD),同比(與去年同期對比),環比(與上月對比)等指標。
2、圖表層面:使用KPI圖表可以更加直觀的顯示業績完成狀況。通過對同比,環比格式設置可以進行分階段顯示數據。
本文的數據源主要包含有銷售明細數據,銷售目標數據,以及日期數據源。
銷售明細數據
銷售目標數據
日期數據
一、創建日期表
日期表作為時間智能函數的基礎表,PowerBI可以自動未具有日期或日期時間類型的字段自動創建一個隱藏的日期表。動手操作PowerBI的小伙伴們應該都已經發現了這個功能。軟件自帶的日期表開啟方式如下圖:(打開路徑:文件=》選項和設置=》選項=》數據加載,默認已勾選自動日期/時間)
上圖中的自動日期表並不能夠很好的滿足不同的業務場景需求,在模型復雜的情況下也會導致文件體積偏大,我們可以通過手動創建日期表。接下來我會教大家創建日期表的三種方式。
1、使用Excel文件創建日期表
新建Excel文件,在Excel工作表中手動填寫相應日期字段(注意:第一列日期列是必須列,其他日期字段大家可以按需求添加即可)
將Excel文件導入PowerBI並標記為日期表,勾選標記為日期表即可正常使用
小結:Excel的方式處理日期表最大的優勢在於可以隨時進行改動,也可以添加列,方便在報表中使用數據。
2、使用DAX函數創建日期表
DAX函數創建日期表的方式網上有很多種,這里我就介紹最簡單的兩種方式:CALENDARTAUTO和CALENDAR函數構建日期表。
2.1CALENDARTAUTO函數
CALENDARTAUTO函數主要依托數據源中的日期范圍,選擇建模選項卡新建一個空白表,輸入公式:CALENDARTAUTO日期表=CALENDARTAUTO()。在PowerBI中會自動識別業務數據中涉及的日期范圍生成日期表。在本文中業務數據的日期范圍從2018-1-1到2019-12-31的所有日期。當然我們還需要添加日期列,如年份,月份等。操作和Excel中操作方式相同,用Year函數創建年份,用Month函數創建月份即可,這里就不做展現了大家可以看銷售目標中的公式參考。創建完成后將該表標記為日期表。
2.2CALENDAR函數
CALENDAR函數用於手動指定日期范圍,大家可以根據需要進行填寫起始日期和結束日期生成。具體步驟如下:新建空白表,使用CALENDAR函數輸入開始日期和結束日期即可生成相應范圍的日期表。
小結:使用DAX函數創建日期表最大的好處不用外置表格,不用擔心文件路徑發生改變。這里只是展現了PowerBI DAX函數創建日期表的兩種方式。該方式屬於PowerBI函數使用中比較基礎的制作方式,大家也可以使用更加復雜的函數來應對復雜的應用需求。可以參考SQLBI出品的日期表,稍作修改就可以為自己所用。下載方式在小黎子數據分析公眾號回復括號內【DAXDATE】內容獲取文件。
3、使用M函數創建日期表
使用M函數就需要切換軟件到PowerQuery中。使用M函數List.Dates可以創建指定起始日期和天數的日期表。這種方式不需要使用公式,直接在功能列表中操作提取年份,季度,月份等字段。具體操作步驟如下:
3.1新建空白查詢
打開Power Query,新建一個空白查詢
3.2使用List.Dates函數構建日期列表,該函數有三個參數分別是:起始日期,日期天數,日期間隔
3.3添加日期字段列
將列表轉換為表格,點擊確定。重命名列名稱為日期
切換到添加列選項卡,點擊日期,提取年份,季度,月份
添加完成后關閉並應用,進入PowerBI主界面進行下一步操作。
小結:M函數構建日期表的優點主要在於提取列無需手動在編輯公式,對於不太熟悉公式的小伙伴操作還是非常方便的。這里還可以通過導入網絡上的節假日,天氣數據使得日期表屬性更加豐富,便於后續的分析場景使用。
二、計算指標的同比、環比、累計
日期表建立完成后,建立日期表與其他數據之間的關系,即可使用時間智能函數計算同比,環比,累計等度量值。孤立的數據沒有意義,只有在對比才能知道指標的高低。所以同比、環比查看時間維度的對比關系就顯得比較重要。在建立指標之前,我們先通過銷售數據和銷售明細,日期表建立表和表之間的關聯關系。如下圖:
1、計算業績的同比
同比時今年和去年同期數據的對比,公式:同比(%)=(本期銷售業績-去年同期銷售業績)/去年同期銷售業績*100%
在計算同比之前,我們需要先計算本期銷售業績和去年同期銷售業績。
在銷售明細表中新建新建本期銷售業績度量值,公式:本期銷售業績 = SUM('銷售明細'[銷售額])
再新建去年同期銷售業績度量值,公式:去年同期銷售業績 = CALCULATE([本期銷售業績],DATEADD('日期表'[日期],-1,YEAR) )
在去年同期銷售業績中,CALCULATE函數與時間智能函數DATEADD配合進行計算。DATEADD主要有三個參數,第一個參數日期列表,第二個和第三個參數組合代表向前推一年,去年同期的銷售數據。
在可視化面板中拖放日期表中年,月字段和銷售明細表中的本期銷售業績和去年同期的銷售業績,來展現效果查看驗證度量值是否取數准確。
計算好本期銷售業績和去年同期銷售業績后,開始新建同比度量值。公式:同比 = DIVIDE([本期銷售業績]-[去年同期銷售業績],[去年同期銷售業績])
2、計算業績環比
案例中的環比為本月銷售數據和上月數據進行比較,公式:環比(%)=(本月銷售業績-上月銷售業績)/本月銷售業績*100%
公式中的本月銷售業績我們在前面的步驟中已經添加,接下來我們處理商業銷售業績度量值。
公式:上月銷售業績 = CALCULATE([本期銷售業績],DATEADD('日期表'[日期],-1,MONTH))
看到上月銷售業績度量值,大家有沒有發現和去年同期銷售業績度量值相似,上月銷售業績也使用DATEADD函數,不同的是最后一個參數更換為month.上月是對比月份滾動計算的。
最后新建環比度量值,公式:環比 = DIVIDE([本期銷售業績]-[上月銷售業績],[上月銷售業績])
3、計算累計銷售額
在計算累計銷售額之前,我們需要知道什么是累計銷售額。累計銷售額是指從某年的1月1日到當前的銷售額,累計銷售額和年度銷售目標或者去年累計銷售額做對比查看銷售情況。
新建本期銷售業績YTD度量值,輸入函數:本期銷售業績YTD=TOTALYTD([本期銷售業績],'日期表'[日期])
公式解析:TOTALYTD函數根據當前上下文計算從年初到當前的累計值,第一參數為計算度量,第二個參數為日期列表,第三個參數過濾器,非必須項可以不用填寫,第四個參數定義年終日期,一般為12月31日。當然也有部分企業財年和自然年並不重合,所以可以使用第四個參數指定財年的最后日期。在PowerBI中還有一個類似的函數TOTALMTD用來計算月度累計值。
在圖表中我們可以看到到2019年,2018年的數據就已經停止累加了。開始累加2019年的數據。前面我們也提到過按月進行計算同比數據有時候我們需要查看累計同比數據,舉個例子:業務部門需要將1-6月半年的數據和去年的1-6月累計數據進行對比分析,這個時候我們只需要將銷售相關度量值替換為累計銷售額。
公式:去年同期銷售業績YTD=CALCULATE([本期銷售業績YTD],DATEADD('日期表'[日期],-1,YEAR) )
同比YTD= DIVIDE([本期銷售業績YTD]-[去年同期銷售業績YTD],[去年同期銷售業績YTD])
最后計算業績完成率指標:
本期銷售目標 = SUM('銷售目標'[銷售目標])
業績完成率 = DIVIDE([本期銷售業績],[本期銷售目標])
三、制作可視化報告
1、制作銷售業績變化情況圖表
銷售業績變化情況圖表主要使用PowerBI的折線和族狀柱形圖,在共享軸中設置年月,列值中放置本期銷售業績,行值設置同比和環比
2、制作KPI圖表業績完成率
KPI圖表可以從應用商店進行下載圖表控件
我們要處理的是KPI指標,在搜索框中輸入KPI。這里添加KPI Indicator圖表控件,大家可以業務場景選擇不同的業務指標。注意:商店中有些控件會顯示需要額外購買,該類型控件屬於收費控件
按照下圖添加相應的值
切換到格式選項卡,選擇類型為sum
在格式中我們可以設置完成業績的為綠色,為完成為紅色
到這里我們就完成了KPI圖表的設置,通過頁面篩選器我們可以查看指定日期段的數據
3、設置同比累計圖表
同比圖表設置也是采用KPI圖表制作,這里我就不在細說了。直接上圖
設置格式需要注意,同比比率是不可累加指標。所以這里需要設置聚合類型為區去最后的值。設置完成后再根據年月進行排序。
4、制作銷售業績完成率圖表
PowerBI對表格的操作非常靈活,這里我們就已同比環比為例,首先拖放相應字段到表格
方法一、按色階設置同比環比的背景色。步驟:選擇同比,條件格式,背景色
選擇格式模式為色階,進行調整相應顏色設置
方法二、按度量值設置環比和同比YTD背景色
新建背景色度量值,環比公式:環比背景色=IF([環比]>=0,"Green","Red")
同比YTD公式:同比YTD背景色 = SWITCH(TRUE(),[同比YTD]<=0,"Red",[同比YTD]<=0.25,"Gray","Green")
然后按照方法一進行設置背景色格式
設置完成后我們就完成了所有圖表的工作,接下來進行排版后的效果圖
四、總結
本文中展現的報告看似簡單,但卻使用了了PowerBI的時間智能函數相關核心技術,主要內容有如下:
1、使用Excel表格、DAX函數以及M函數創建日期表
2、使用時間智能函數DATEADD,TOTALYTD與萬能函數CALCULATE進行計算指標
3、使用應用商店的圖表控件進行多種類型的KPI展現,並介紹了兩種處理方式
注意:PowerBI時間智能函數遠遠不只是這些,本文中只是介紹了最核心的內容。推薦大家擴展學習其他的相關函數使用,當然在應用商店中有很豐富的圖表供大家使用。根據場景合理使用圖表。