zoukankan      html  css  js  c++  java
  • 数据可视化之powerBI技巧(二十三)Power BI可视化技巧,使用DAX自定义时间轴

    ​按照自然日历来展现疫情数据时,是这样的效果,

     

    由于各个国家的疫情爆发时间不一致,按自然日期坐标轴很难比较各个国家的蔓延速度。

    如果各个国家都从蔓延日开始统计,展示之后每日的确诊人数,就是同样的时间轴,可以很直观的看出每个国家的发展速度。

    这里的难点在于,如何确定开始蔓延日期,以及如何根据蔓延日期,来计算每一天距离蔓延日是第几天?

    在PowerBI中,用DAX可以轻松实现。

    原始数据是从2020年1月1日开始到现在的每日每个国家的确诊数据,包括新增确诊人数、新增死亡人数、累计确诊人数和累计死亡人数,数据结构如下图,

     

     

    模拟蔓延开始日的定义是,如果某个国家的累计确诊人数在该日第一次超过3000,则定义此日期为该国的蔓延起始日期。

    在原始表中新建个计算列,即可实现,DAX表达式如下:

     

     

    计算逻辑很简单,已在注释中详细说明。

    然后就生成了每个国家的每一天距离疫情蔓延日的天数,当然,按照上述定义,大部分国家都没有进入蔓延期,所以只有部分国家有数据。

     

    从结果来看,每个国家开始蔓延的日期是不同的,海外地区,韩国第一个开始蔓延的国家。

    然后使用新增的列[Days]作为X轴,用折线图展现累计确诊人数的效果如下:

     

     

    通过这个天数坐标轴,每个国家的起点一致,但终点是不同的。以同样的时间进度,疫情蔓延速度一目了然,美国远远快于其他国家。

     

    同样用这个坐标轴展示其他几个指标如下:

     

     

    上面是模拟的蔓延日期,你同样可以根据分析的需要定义其他日期。

     

    自定义天数坐标轴不仅用于展示疫情可视化,还可以广泛用于其他场景。比如多个公司成立日期不一致,可以按照从成立日期开始的天数来比较其发展速度;员工的入职日期不同,可以按照入职的天数来比较业绩完成情况等。

    这种时间轴的技巧你学会了吗?

  • 相关阅读:
    C语言-10-位域与共用体
    python-并发编程
    计算机操作系统
    网络编程-Socket
    网络编程-基础
    python-面向对象进阶
    python-面向对象
    python-模块分类与导入
    python-函数进阶
    python-函数内置方法
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/12803819.html
Copyright © 2011-2022 走看看