日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

怎么做蒙特卡洛计算npv_PowerBI非标准日历下的同比环比计算,你知道怎么做吗?...

發布時間:2023/12/10 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎么做蒙特卡洛计算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非标准日历下的同比环比计算,你知道怎么做吗?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。