前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >如何在Power BI里求复合增长率?

如何在Power BI里求复合增长率?

作者头像
btharp
发布2021-08-31 16:32:50
发布2021-08-31 16:32:50
1.3K00
代码可运行
举报
文章被收录于专栏:PowerBI x PythonPowerBI x Python
运行总次数:0
代码可运行

引子

PBI里有各种时间函数,网上关于同比、环比增长率的文章多如牛毛。复合增长率这个实操中也非常重要的指标,却提得比较少。本文跟大家一起探讨PBI里如何求复合增长率。

复合增长率——更合理地衡量多时间跨度的平均增长率

以下图这个极端的情况为例。第一年到第三年的年平均增长率是多少?

由于期末(第三年)和期初(第一年)均为100,所以,这两年综合增长率为0。这意味着,平均增长率不是常规的计算方式[100%+(-50%)]/2=25%。这种将N个值加总再除以N所得的平均数,叫做算术平均数,适用于求解在同一时间截面上,不同分类的平均值。不适用于求解在时间纵向上的平均值。

在时间纵向上,因为有指数的效应,所以需要用几何平均数,即N个值相乘再开N次方。上述例子中,这两年变化倍数的几何平均数=(200%*50%)^(1/2)=100%。即这段时间期末起初没有变化。

复合增长率,就是在变化倍数的几何平均数基础上-1。即:

复合增长率=(x1*x2*x3*...*xn)^(1/n)-1

其中,x为当年/上年,n为年数。由于x1*x2*x3*...*xn=期末指标/期初指标,所以复合增长率又可这么计算:

复合增长率=(期末/期初)^(1/n)-1

PBI里怎么求

假设我们的数据模型结构如下所示:

其中,数据以天为单位。根据上一节的定义,月度复合增长率的求法如下:

代码语言:javascript
代码运行次数:0
复制
平均成本复合增长率 = 
var beginning_value=calculate([均成本],FILTER('完工成本',(year('完工成本'[完工月份])*100+(month('完工成本'[完工月份]))=MIN('Dates'[YearMonth])))) //其中均成本为度量值,另外做
var ending_value=calculate([均成本],filter('完工成本',(year('完工成本'[完工月份])*100+(month('完工成本'[完工月份]))=max('Dates'[YearMonth]))))
var duration=(max('Dates'[Year])-min('dates'[year]))*12+(max('dates'[month])-min('dates'[month])) // 考虑了跨年的问题
return 
    if(
        divide(ending_value,beginning_value)^divide(1,duration,1)=0,  //当时间切片器只选择了单一时间点,返回0
        0,
        divide(ending_value,beginning_value)^divide(1,duration,1)-1  

如果求年度复合增长率(CAGR),将duration改为max('Dates'[Year])-min('dates'[year])即可。上述求法综合考虑了年、月切片器筛选的问题,因此相对复杂和完整。

特殊情况

当数据的颗粒度与所求复合增长率颗粒度一致时,即假设表格每行代表年度(或月度)数据,目标求年度(或月度)复合增长率,则可用以下方法:

代码语言:javascript
代码运行次数:0
复制
复合增长率=geomeanx(表,变化倍数)/100-1

geomean即求该时间段内的几何平均值。其中,变化倍数需另外建一个计算列=本期/上期。

不足

从公式可见,复合增长率只考虑期初期末,更适合于反映单调递增或递减的指标变化。而对于非单调性变化的指标,无法反映期间的发生了多少波澜。正好比当年关于NBA的一个笑话:那么多年没看NBA,詹皇还是在骑士,加内特还是在森林狼,谁知道中间发生了多少个决定1、决定2呢?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI x Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档