1. 首页 » 生活常识

同比计算方法及应用 同比是指与去年同期相比的增长率,计算公式为:(本期数值-同期数值)/同期数值×100%。

来自星友的一个问题,如何不借助切片器,在没有任何外部日期上下文的情况下,让报表自动显示本月、上月、上年同期数据,以及对应的同比和环比,这个问题不少人问过,还比较普遍,这篇就来看看如何在PowerBI中实现吧。

解决该问题有很多种方法,这里介绍一个相对简单并且容易理解的做法。

为了能方便的定位到不同的月份,在日期表中添加一列连续的年月序号,可以这样写:

年月序号 = ( YEAR( [日期] ) - 2018 ) * 12 + MONTH( [日期] )

无日期上下文,Power BI如何计算同比环比

因为该日期表是从2018年1月1日开始的,所以先减去2018,这样做的结果就是如果是2019,自动在月份上加上12,也就是2019年1月的年月编号是13,往后依次类推。

有了这个年月序号,本月数据的度量值可以这样写:

本月 =

VAR

cur_yearmonth=

CALCULATE(

SELECTEDVALUE('日期表'[年月序号]),

'日期表'[日期]=TODAY())

RETURN

CALCULATE([收入],'日期表'[年月序号]=cur_yearmonth)

因为没有外部日期上下文,所以在这个度量值内部利用TODAY函数来找出今日所对应的年月编号,然后计算出本月数据。

同理计算上月和上年同期很简单了,逻辑完全一样,只需要调整对应的年月编号就可以了:

上月 =

VAR

cur_yearmonth=

CALCULATE(

SELECTEDVALUE('日期表'[年月序号]),

'日期表'[日期]=TODAY())

RETURN

CALCULATE([收入],'日期表'[年月序号]=cur_yearmonth-1)

上年同期 =

VAR

cur_yearmonth=

CALCULATE(

SELECTEDVALUE('日期表'[年月序号]),

'日期表'[日期]=TODAY())

RETURN

CALCULATE([收入],'日期表'[年月序号]=cur_yearmonth-12)

利用上述数据计算同比和环比:

环比 = DIVIDE([本月]-[上月],[上月])

同比 = DIVIDE([本月]-[上年同期],[上年同期])

矩阵中显示如下:

无日期上下文,Power BI如何计算同比环比

这样就轻松实现了无外部日期上下文的计算,如果你想计算上上月,前年同期等,都很方便,只需要在度量值中更改一个数字。

更多推荐:

我的新书《PowerBI商业数据分析》上市了

学会这个秘籍,PPT也能动态演示PowerBI图表

使用PowerBI/Excel批量抓取网页数据

采悟,「PowerBI星球」创始人,《Power BI商业数据分析》作者。

声明:本文由"麦兜"发布,不代表"破站"立场,转载联系作者并注明出处:https://www.848586.cn/107816.html