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

文/天行

寿险行业二十余年数据分析和管理经验

DAX资深爱好者

在销售管理工作中,经常需要进行各类分析,其中有一类是与奖励推动相关的,即在一段时间内,针对一个指标,设定一个标准,从一个群体中选出达标人员予以表彰。
这类分析最重要的就是及时性,具体说就是在考核时间内就开始实时追踪,不断地将提前达标人员树为标杆,激励所有人员奋勇向前,同时不断提醒即将达标人员加快行动,尽早达标。
好,话不多说,如何用DAX实现类似的业务分析呢?我们马上开始从实例开始操练。
简化分析模型,只使用一张业务明细表,三列数据,分别为:
【工号】(共20人);
【业务日期】(覆盖2020.1.1至2020.3.31);
【销售额】数据500条。
分析目标:
假定个人销售额达到5000元为优秀标准,那么达标的人员具体是哪一天达标的?达标日对应的累计销售额是多少?
根据这些分析,就可以对率先达标的人员实施奖励和宣传,提升团队的争先氛围。
读者可以暂时闭目养神,在脑海里模拟一下如何使用Excel进行这个分析。如果大家是经验丰富(被业务领导施虐时间较久)的分析人员,不难得出操作办法。
可如果等你花了半天,做出分析结果时,领导点点头,开口一句:
如果把优秀标准调成8000元,达标情况是什么样的?
(美其名曰好钢用在刀刃上,背后的管理目的是减少奖励支出)
对了,把前两个月的情况也按这5000和8000的标准分析一下,看看有哪些人都能获奖?
(背后的管理目的是对前期达到奖励标准,但本次未达到奖励标准的人员做到心中有数,防范相关人员的抱怨心理影响。)
此时,请问你的心情会是如何?

好吧,相信经过一番模拟,我们任何人都不想在现实中陷入这种窝心的境况,那就掌握一点DAX方法,努力化危难于无形吧。
先梳理一下使用DAX的分析思路:
1、以销售人员为标准,确定发生销售业绩的业务日期(称为:有效业务日期);
2、进一步确定每个销售人员、每个有效业务日期对应的累计销售额;
3、筛选累计销售额大于奖励标准的有效业务日期集;
4、取有效业务日期集中的最小值,即为达到奖励标准的对应业务日期;
5、筛选对应业务日期的累计销售额,即为达到奖励标准当日的累计销售业绩。
很简单,对吧?给逻辑思维如此优秀的我们点个赞!开始动手实施吧。
第一步,首先解决动态性的需求
从已经导入Power BI的【业务明细表】中取出实际业务发生的业务日期,建立一张动态日期区间表【业务日期】。
注意,不要与【业务明细表】建立关系。
利用业务日期字段,建立一个切片器,用于动态调整业务日期分析区间。
建立一个参数表【达标标准】,同步生成一个切片器。
建立三个度量值用于后期的动态分析。
第二步、编制【目标达成日期】度量值
为了演示DAX实现以上分析思路的过程,每一步完全契合以上步骤,读者中的效率完美主义者请对这种啰嗦忍忍了。
第三步、根据计算出来的【目标达成日期】,编制【销售额 累计 目标达成日】度量值

代码不复杂,使用SUMX迭代汇总销售额就可以了,但是上图中的问题,各位读者是否能准确回答?如果答案不是特别肯定,请拿着实例修改着试试,看结果有什么区别?如果有区别,思考一下为什么?
以我个人笨拙的学习经验,这里涉及到迭代器中使用度量值时,强制进行行上下文转换的技术细节,知其然不知其所以然,迟早会踩坑。建议不熟悉的读者花点时间去补充学习。
达成效果如下图。

即在2020年1月22日-3月31日期间,按销售额累计达到2700元为标准,各销售人员对应的达标日期,以及达标日的累计销售额。

第四步、在把结果呈现给领导前,务必对数据进行核对,避免好事变坏事。
通过【销售额 合计】和【销售额 累计 所选日期期间】两个度量值,实现下图效果,用于根据销售人员的日销售轨迹和累计销售额轨迹,核对达标日的正确与否。

从上图可以观察到,销售人员1001在1月22日、1月24日和1月30日均有销售记录,截至1月30日,累计销售额达到6866元,首次达到2700元标准。计算无误,可以放心把结果呈报给领导了😎

度量值编写如下:
一个表格显示的小技巧背后是对Power BI表格中实际数据和显示数据差别进行了解的好机会,建议读者可以自行体会一下。
至此,已经通过DAX将业务分析需求全部解决,用动图看一下效果。
传统使用Excel的方式,就涉及到对每天的数据进行重复操作,同时一旦奖励标准进行调整,统计区间发生改变,所有的工作就要重新来过。
对应这样的分析需求,DAX的动态性就可以体现出优势,如果分析人员的业务经验丰富(对上司的多变习惯足够了解),甚至可以做到预先做好动态准备,以不变应万变。
希望DAX能帮助每一个数据分析人员提升工作效率,更好地享受美好人生。

(0)

相关推荐