Power BI中这么计算同期对比,我被业务怼了!

Hello,小伙伴们大家好啊!今天给大家分享的是Power BI在实际业务场景中的一个应用。需求是非常简单的,业务需要按照月份计算出今年每个月的业绩与去年的每个月的业绩对比,也就是我们常说的同比(YOY)。稍微有些DAX基础的小伙伴可能会说,这个需求太简单了,用时间智能函数简直轻松加愉快地就能解决,于是,立马在脑子里面想到几个能够实现的时间智能函数,于是有了下面的表达式和下面的计算结果。计算完全没有问题,但是,如果你把这样的数据给到业务去看的时候,大概率会被怼。Why?现在我们假设一个场景,今天是9月20日,很明显2021年的9月份的数据应该是9月1-20日的数据合计,但是,我们可以看到去年同期2这个字段里面显示的结果是6263,也就是说这里计算的是去年9月份完整月份的数据(9月1-9月30),问题就在这如果我是9月2号,那么我用9月1-2号的数据和去年9月完整月份的数据进行对比是毫无业务意义的。

去年同期 = CALCULATE([销售额_],DATEADD('Dim Date'[Date],-1,YEAR))

被业务怒怼之后,发现确实是这个道理。发现了问题,基本上问题被解决了一半。接下来我们就得想想办法如何解决这个问题,其实也很简单,我们只需要在日期表里面新建一列做个判断,获取当前有销售额的最大日期,然后根据这个日期判断下如果日期表的日期小于等于这个日期则返回Y,否则返回N,也就是规避了我们日期偏移的时候是整个月的偏移。我们直接上DAX表达式看看,以下代码仅供参考。

DateWithSales = VAR MaxBusinessDay = MAX('Fact Sales'[销售日期])RETURN    IF(MaxBusinessDay>='Dim Date'[Date],'Y','N')
去年同期 = CALCULATE ( [销售额_], CALCULATETABLE ( DATEADD ( 'Dim Date'[Date], -1, YEAR ), 'Dim Date'[DateWithSales] = 'Y'//做了筛选 ))

最终我们将调整后的表达式拖入到表格里面来看下。我们调整后的去年同期度量值显示去年9月份的数据是4400,这个4400实际上代表的是去年9月份1-20号的数据合计,这样我们就能够规避上文业务怼我们的问题了。还是那句话,DAX计算没有错误之分,只有是否符合业务需求之别,很多用法书上给出的和实际业务需求不一致,需要我们多点想象力。好了,最后给大家留一个思考题,2021年的10-12月份销售额部分没有数据显示为空,强迫症的业务同事要求你把没有数据(或者说是未来还没产生业务数据)的月份不显示,这个需求该如何实现呢?欢迎小伙伴们给小编留言,下期我再和大家分享我的做法!

(0)

相关推荐

  • Power BI如何计算任意所选期间的环比?

    文/陆文捷 物流供应链优化分析师,Power BI爱好者,知乎:Beethovenist Power BI内置了一系列日期智能函数,覆盖了计算同环比,上年同期,本期至今,期初期末,当期全局数据等高频需 ...

  • DAX Studio:你迟早会用到的几个功能

    关于DAX Studio,之前的文章中(PowerBI中的数据如何导出到Excel?)初步介绍过,它主要是用于DAX代码的编辑和查询,对于PowerBI的普通用户来说,PowerBI Desktop的 ...

  • PowerBI实务应用:使用DAX动态计算达标日期

    文/天行 寿险行业二十余年数据分析和管理经验 DAX资深爱好者 在销售管理工作中,经常需要进行各类分析,其中有一类是与奖励推动相关的,即在一段时间内,针对一个指标,设定一个标准,从一个群体中选出达标人 ...

  • Power BI数据可视化,居然还可以用DAX做!

    在PowerBI中,不仅有上百个各式各样的炫酷可视化图表可以直接使用,还可以利用DAX,进行更灵活的可视化设计,即使是很普通的图表,也可以玩出不一样的精彩. 本文收集了之前文章中曾介绍过的一些DAX可 ...

  • 度量值 | PowerBI星球

    本文学习PowerBI最重要的概念:度量值 初学Power BI一般都会对度量值比较困惑,毕竟对长期接触Excel的人来说,这是个全新的概念,但一旦理解了她,肯定会立即喜欢上. 简单来说,度量值是用D ...

  • DAX是什么? | PowerBI星球

    DAX是英文Data Analysis Expression的缩写,意思是数据分析表达式,从名称上就可以看出,DAX公式是用作数据分析的,事实上也确实如此,从数据分析层面认识DAX会更有助于我们理解它 ...

  • 如何使用Power BI进行流失客户分析?

    为了提升销量,在不断吸引新客户的同时,还要防止老客户离你而去,但每一个顾客不可能永远是你的客户,不可避免的都会经历新客户.活跃客户.流失客户的过程,这个过程也称为客户生命周期. 对客户生命周期管理至关 ...

  • 2月29日就到要了,Power BI时间智能函数是如何处理闰年的?

    今年是闰年,马上就到2月29日了,有星友问我,在Power BI中,2月29日的上年同期是怎么计算的? 这是个好问题,正好梳理一下,PowerBI时间智能函数是如何处理不规则日期的对比数据的. 以一个 ...

  • Power BI如何计算任意期间的上一期?

    上上周的文章介绍了非标准日历的计算(Power BI非标准日历的计算思路),虽然是非标准日历,但还是有规律的,每个周期是固定的,可以在日期表中提前做好标记. 实际分析中还有一种情况,任意选定一个时间范 ...

  • Power BI实用技巧:利用DAX隐藏未来日期的计算

    文/陆文捷 物流供应链优化分析师,Power BI爱好者,知乎:Beethovenist Power BI中日期智能函数进行同环比和累加等计算时,如果事实表数据是随时间动态更新,同时数据模型中的日期表 ...

  • Power BI的这个功能,每个人都用过,但是我建议你以后禁用

    在本文开始之前先看看两个在使用PowerBI的过程中,经常会碰到的两个问题,你肯定也见过. Q: 想看每天的销售额,本来放的是一个日期字段,却突然冒出来很多列, 并且月份还是英文的,想改成中文的都找不 ...

  • 如何使用Power BI进行回流客户分析?

    如何使用Power BI计算新客户数量? 如何使用Power BI进行流失客户分析? 还有一种情形是,客户超过一定的时间没有购买行为,已定义为流失客户或者睡眠客户,但最近又发生业务的的,也称为回流客户 ...