通常的时间序列分析时按照自然日历,比如展现疫情数据时,是这样的效果,
由于各个国家的疫情爆发时间不一致,按自然日期坐标轴很难比较各个国家的蔓延速度。
如果各个国家都从蔓延日开始统计,展示之后每日的确诊人数,就是同样的时间轴,可以很直观的看出每个国家的发展速度。
这里的难点在于,如何确定开始蔓延日期,以及如何根据蔓延日期,来计算每一天距离蔓延日是第几天?
在PowerBI中,用DAX可以轻松实现。
原始数据是从2020年1月1日开始到现在的每日每个国家的确诊数据,包括新增确诊人数、新增死亡人数、累计确诊人数和累计死亡人数,数据结构如下图,
模拟蔓延开始日的定义是,如果某个国家的累计确诊人数在该日第一次超过3000,则定义此日期为该国的蔓延起始日期。
在原始表中新建个计算列,即可实现,DAX表达式如下:
计算逻辑很简单,已在注释中详细说明。
然后就生成了每个国家的每一天距离疫情蔓延日的天数,当然,按照上述定义,大部分国家都没有进入蔓延期,所以只有部分国家有数据。
从结果来看,每个国家开始蔓延的日期是不同的,海外地区,韩国第一个开始蔓延的国家。
然后使用新增的列[Days]作为X轴,用折线图展现累计确诊人数的效果如下:
通过这个天数坐标轴,每个国家的起点一致,但终点是不同的。以同样的时间进度,疫情蔓延速度一目了然,美国远远快于其他国家。
同样用这个坐标轴展示其他几个指标如下:
上面是模拟的蔓延日期,你同样可以根据分析的需要定义其他日期。
自定义天数坐标轴不仅用于展示疫情可视化,还可以广泛用于其他场景。比如多个公司成立日期不一致,可以按照从成立日期开始的天数来比较其发展速度;员工的入职日期不同,可以按照入职的天数来比较业绩完成情况等。
这种时间轴的技巧你学会了吗?
-精彩推荐-
如果你刚开始学习Power BI,可在微信公众号后台回复"PowerBI",获取《七天入门PowerBI》电子书,轻松上手。
采悟/ PowerBI星球
网友评论