本文翻譯自Alberto Ferrari的文章——《Showing actuals and forecasts in the same chart with Power BI》。在預算報告中,常見的要求是在同一折線圖上顯示未來的銷售預測和實際銷售量。 本文介紹如何使用DAX實現此目標

用於此示例的資料模型包含兩個表:銷售表和預算表。這兩個表透過一組關係連結到客戶表、日期表和產品表。它們是銷售表的強關係,銷售表包含關鍵粒度的資訊;以及預算表的弱關係,它必須以不同粒度連結到三個維度。

使用Power BI在同一圖表中顯示實際值和預測值

弱關係是Power BI的一個新功能我們將在以後的文章中詳細討論它們。我們使用模型的預算表來建立幾個預測指標。在這裡,我們的主要重點是能夠準備一個像下面這樣的圖表:

使用Power BI在同一圖表中顯示實際值和預測值

在同一圖表中的四條線分別表示這些值:

綠色實線

:YTD銷售金額為本年至今的實際銷售金額。因為我們只有截止到8月15日的銷售額,8月之後的線會變為平坦。

黑色虛線

:YTD預測是本年度至今的預算。圖表中顯示預算相較於實際情況預測過低,因為銷售額總是遠遠高於預期。

紅色虛線

:YTD Sales & Forecast使用8月15日前的實際銷售和8月15日後的預算資訊,將這兩個值混合在一起。這條線和YTD銷售額之間的差異在8月底開始顯現,因為8月份的15天已經使用預算值而不是實際值。

青色虛線

:YTD Adj銷售及預測顯示8月15日前的實際情況和調整後的預測值。調整後的預測是根據前幾個月的預算與實際數字之間的差額對預算進行修正。

為了理解這些度量值的結果,下面的矩陣顯示了不需要在圖表中進行YTD計算的不同值:

使用Power BI在同一圖表中顯示實際值和預測值

演示模型中的預測度量是一段相當高階的DAX程式碼,它本身就需要一篇完整的文章去闡述。在本文中,我們對使用的預測方法沒有進行詳細的解釋;我們的目標是解釋如何計算下一個度量:剩餘預測。

剩下的預測指標必須分析銷售表,找出有銷售的最後一天,然後計算預測值。程式碼如下:

使用Power BI在同一圖表中顯示實際值和預測值

關於這個公式有幾個有趣的注意事項:在計算LastDateWithSales變數時,我們必須使用ALL來檢索銷售表的最後一個日期。如果沒有ALL修飾符,該變數將計算篩選期間(或上下文)中銷售的最後日期。這將返回不正確的數字。

另一個注意事項是在篩選Result變數中的日期時使用KEEPFILTERS。由於篩選器對DateKey列進行操作,而DateKey列是標記為日期表的表的主鍵,因此它將覆蓋先前存在的所有篩選器。因此,需要KEEPFILTERS來強制在當前選擇的時間段內進行計算。

您可以在2010年8月瞭解該度量值的工作方式。因為銷售的最後一個日期是8月15日,所以剩餘的預測量是在8月16日到8月底之間生成的預測。

剩下的預測值被Sales & Forecast度量值使用,Sales & Forecast 度量值簡單的將兩個基本的度量值相加:

使用Power BI在同一圖表中顯示實際值和預測值

請記住,這兩項度量值可以很容易地求和,而無需任何額外的測試。實際上,剩餘預測僅產生未來日期的價值 - 與此同時,銷售額在未來日期不會產生任何價值。因此,在任何一天都有銷售或預算; 兩者都不會在同一時刻出現。

現在,來進行第二步:用以前的銷售額來糾正預算。正如我們已經指出的那樣,預算值過低。應用修正因子是一項需要謹慎處理的業務要求。在這個例子中,我們使用一種相當簡單的方法:我們計算截至8月15日的預算和銷售之間的百分比差異,然後我們使用這個百分比差異作為未來的修正因子。

以下是計算預算與銷售之間百分比差異的度量值:

使用Power BI在同一圖表中顯示實際值和預測值

這項度量值比前一項度量值簡單。它首先用Sales(lastdateWithSales)計算最後一個日期,然後用Sales(budgetComparison)計算當前年度的所有銷售額(實際)和截至最後一個日期的預算。最後一部分只將差額轉換成百分比,稍後將用於更新預算數字。

最後一步是在ADJ Sales&Forecast度量中使用此百分比,該度量計算截至8月15日的銷售額以及調整後的剩餘預測版本,並用以下百分比進行更正:

使用Power BI在同一圖表中顯示實際值和預測值

為了對上面的圖表使用這些度量,需要將它們嵌入到YTD模式中:

使用Power BI在同一圖表中顯示實際值和預測值

正如您所看到的,要編寫的程式碼並不複雜,而且結果非常好。這些措施只是一個完整預算解決方案的起點。不過,它們已經展示瞭如何在DAX中生成強大的結果,只要您開始掌握篩選器上下文並進行計算。

* PowerPivot工坊原創文章,轉載請註明出處!

延伸閱讀:

☞在Power BI中篩選每類產品的前三名

☞使用DAX改進Power BI中的時序折線圖

☞使用CONCATENATEX書寫度量值

☞透過度量值實現突出顯示

☞如何實現多指標箭頭動態變化

如果您想深入學習微軟Power BI,歡迎登入網易雲課堂試聽學習我們的“

從Excel到Power BI資料分析視覺化

”系列課程。或者關注我們的公眾號(PowerPivot工坊)後猛戳”線上學習”。

使用Power BI在同一圖表中顯示實際值和預測值

長按下方二維碼關注“Power Pivot工坊”獲取更多微軟Power BI、PowerPivot相關文章、資訊,歡迎小夥伴兒們轉發分享~

使用Power BI在同一圖表中顯示實際值和預測值