从疫情之年计算去年同期到领悟本质的终极思想
共 1622字,需浏览 4分钟
·
2021-04-29 18:28
在疫情之年后,很多财务和运营的计算参照的对象都不能选择疫情年了,而要选择前年。
而实际的问题是:
如果某些业务是受到疫情影响的,那么就计算前年同期
如果某些业务是不受到疫情影响的,那么就计算去年同期
关于该问题已经有很多伙伴咨询过,这里给出最佳实践。
去年同期的理解
在业务中,很多业务都自然地在年的层面呈现出规律,且成为可对比参照的。
但是,很多人会自然地记住今年和去年的对比,就是同比。
这个认识是正确的。
这就导致大家在 Excel 中写公式的时候往往写出类似:
YEAR( TODAY( ) )
和
YEAR( TODAY( ) ) - 1
这样的逻辑。
当然,这的确很自然。
从去年同期到上期同期
更一般地,去年同期的概念是隶属于上期同期的。
对于上期这个词汇,它的相对者叫:当期。
在” 国际商业交流标准 “(IBCS)中,用:AC 表示当期,用 PY 表示上期。
相对性
当我们用当期和上期来替换了今年和去年这样的概念后,这让整个概念体系具备了:
可扩展性
相对性
当期,是以用户选择的年份为准的。
上期,也是以用户选择的相对当期的上 N 期的 N 为准的。
这样,整套概念就完全保持了核心而又具备了可扩展性。
Power BI 实现
在 Power BI 中,可以用简单的公式系统来实现。
首先,创建一个逻辑上的参数表,如下:
接着,编写表示当期的逻辑如下:
IBCS.AC = [KPI]
其中,[KPI]
是一个度量值,用于解除 IBCS.AC
与具体业务逻辑的依赖关系,具体的业务逻辑可以在 [KPI]
中再去考虑。
这里使用了依赖注入的思维模式,具体可以参考《BI 佐罗:BI 真经》系列。
再写出上期的相对性公式,如下:
IBCS.PY =
VAR _n = SELECTEDVALUE( '参数表:N年同期'[N年前] , 1 )
RETURN
CALCULATE( [IBCS.AC] , DATEADD( 'Calendar'[日期] , - _n , YEAR ) )
这里用了 SELECTEDVALUE
定式和 DATEADD
定式。
效果展示
基于 IBCS 的标准展示效果,如下:
可以看出:在 2021 年在一种展示模式下可以由用户动态选择:
指标
对标年份
这样就实现了当期和上期的相对性和可扩展性。而对于 IBCS.AC
和 IBCS.PY
这两个度量值而言,它们完全满足 OCP 原则,永远不需要修改。
OCP 原则如何在 Power BI 中运用,可以参考《BI 佐罗:BI 真经》系列。
总结
在做建模设计的时候,相对性和可扩展性是非常重要的,本文给出了良好的示范,你可以立马用来优化你的设计,让老板为你的贴心为之一振。
最近广告多了点,智慧的你可以看出来啥文章是我写的,啥文章是你应该配合我点赞的,默默点赞,微笑阅读,智慧选择。你懂的。
在订阅了BI佐罗讲授的《BI真经》之《BI进行时》课程区,除了可以下载本文案例,还可以观看视频讲解。
让数据真正成为你的力量
Create value through simple and easy with fun by PowerBI
Excel BI | DAX Pro | DAX 权威指南 | 线下VIP学习
扫码与PBI精英一起学习,验证码:data2021
PowerBI MVP 带你正确而高效地学习 PowerBI
点击“阅读原文”,即刻开始
↙