怎么做蒙特卡洛计算npv_PowerBI非标准日历下的同比环比计算,你知道怎么做吗?...
?對于按照自然年月日來分析的業務數據,在PowerBI中可以輕松的使用時間智能函數來進行各種時間指標的計算,但如果不是按標準的日歷,很多人就開始有點懵,不知道該如何計算了。
比如有的公司的業務月份是從26號到下個月的25號,如何計算本月收入和上月收入呢?
這種還比較簡單,雖然不是標準的日歷,其實還是很日歷相關的,只是錯位了幾天而已,可以構建一個業務日歷表,然后還是可以用時間智能函數來計算。
考慮個更加不標準的業務日歷,假如某公司是按25天為一個業務周期,這種情況下,完全和自然的年月沒有關系,時間智能函數無法使用,如何計算本期、上期、環比等指標呢?
這篇文章就來給你一個普遍意義上的時間指標計算思路。
以業務周期25天為例,首先根據業務的周期,在日期表中添加業務周期的字段,如下圖,
添加了兩個字段,其中一個是文本的期間P1、P2等,便于閱讀,另外一個是數值的期數1、2……,便于排序以及不同期間的邏輯運算。
依然用這個表的日期與業務數據表的訂單日期建立關系,
先寫一個基礎度量值:
收入 = SUM('訂單表'[銷售額])
下面就用度量值來計算幾個常用的時間指標。
上期
收入 上期 =
VAR _period=SELECTEDVALUE('日期表'[期數])
RETURN
CALCULATE(
[收入],
FILTER(
ALL('日期表'),
'日期表'[期數]=_period-1
)
)
這個度量值的邏輯是,先利用VAR找到當前上下文的期數,然后在日期表中,找出比當前期數少一期的日期,并用這些日期篩選訂單表中的對應訂單日期的業務,求和即為上一期的收入。
這里用到的函數組合:
VAR+CALCULATE+FILTER+ALL
它是非常經典的DAX套路,在很多場合都會用到,即使還不理解也要先記住它,建議你重復練習直至徹底掌握。
有了上期數據,計算同比就很簡單了,
同比 = DIVIDE([收入]-[收入 上年同期],[收入 上年同期])
結果如下:
同理還可以計算上年同期,不過這里假設的是25天一個業務月度周期,并沒有上年的概念,不如再假設一個業務年度,仍然以12期為一年,那么上年同期就可以這么計算。
上年同期
收入 上年同期 =
VAR _period=SELECTEDVALUE('日期表'[期數])
RETURN
CALCULATE(
[收入],
FILTER(
ALL('日期表'),
'日期表'[期數]=_period-12
)
)
仔細觀察就會發現,上年同期的度量值和上期的度量值非常相似,只是把 "_period-1" 替換為 "_period-12" 而已。
自然日歷的計算不是同樣如此嗎,上月是本月之前1個月的月份,而上年同期就是本月往前推12個月的月份。
同比 = DIVIDE([收入]-[收入 上年同期],[收入 上年同期])
結果如下:
看以上幾個度量值,好像沒有用到日期,只用到期數,這是因為上面的計算粒度都是按"期"計算,并沒有按"日"計算。
假設計算本期至今的數據,應該怎么寫呢?
本期至今
收入 本期至今 =
VAR _period=SELECTEDVALUE('日期表'[期數])
VAR _date=MAX('日期表'[日期])
RETURN
CALCULATE(
[收入],
FILTER(
ALL('日期表'),
'日期表'[期數]=_period
&&'日期表'[日期]<=_date
)
)
本期至今的邏輯就是期數和當前上下文的期數相等,但小于等于當前日期的訂單銷售額之和。
所以用了兩個變量來分別獲取當前上下文的期數和日期。
結果如下:
通過上面幾個時間指標的計算,你是不是已經知道非標準日期的計算邏輯了呢,其實這才是最普遍意義上的時間指標計算,就是根據業務的邏輯,按條件篩選匯總而已。
時間智能函數內部也是這樣的邏輯,比如本月至今,有個時間智能函數是DATESMTD,它內部的運行邏輯依然是:
收入 本月至今 =
VAR _month=SELECTEDVALUE('日期表'[月份])
VAR _date=MAX('日期表'[日期])
RETURN
CALCULATE(
[收入],
FILTER(
ALL('日期表'),
'日期表'[月份]=_month
&&'日期表'[日期]<=_date
)
)
這個度量值和上面的本期至今,除了把 [期數] 替換為 [月份] ,其他完全一致;等于當前月份,但小于等于當前日期的數據之和不就是本月至今嗎?
把常用時間維度的業務計邏輯進行封裝,就形成了時間智能函數,大家平時只知道用,因為很方便,只要能計算出結果,就不去深入理解時間智能函數到底是如何工作的,這導致了實際業務中,日歷稍微一變化,就不知道怎么計算了。
如果徹底理解了這些計算邏輯,并學會利用本文的DAX思路,再碰到各種奇葩日歷的時間指標計算,都可以迎刃而解。
其實之前寫過的按周分析的思路,同樣的計算邏輯:
學會了這個思路,你也可以輕松進行周分析!
-精彩推薦-
使用日期制作Power BI切片器,竟然這么好用!
認識Power BI這個炫酷的圖表:旭日圖
分析報告還不會用動態分析?利用Power BI參數輕松實現
總結
以上是生活随笔為你收集整理的怎么做蒙特卡洛计算npv_PowerBI非标准日历下的同比环比计算,你知道怎么做吗?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fsmb32.exe是什么进程 作用是什
- 下一篇: fsma32.exe进程是什么文件 fs