从疫情之年计算去年同期到领悟本质的终极思想

PowerBI战友联盟

共 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
点击“阅读原文”,即刻开始

浏览 59
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报