前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用PowerBI分析疫情数据

利用PowerBI分析疫情数据

作者头像
公众号PowerBI大师
发布2020-02-21 18:31:36
2.1K0
发布2020-02-21 18:31:36
举报

“大疫”当前,大家每天醒来第一件事就是打开手机,看看本地又新增几个确诊,老家又新增多少疑似,亲朋好友那边又有哪些传言……与其在家闲出P,为何不借助平台数据,用PowerBI来小试一把牛刀呢。

01 数据来源

数据源自“丁香园”,已有人整理好,只需在Github上下载(如果无法访问该网址,请访问外国网站)下载地址:

https://github.com/BlankerL/DXY-COVID-19-Data/blob/master/csv/DXYArea.csv

?

02 数据导入

导入之前,先用excel把文件打开,看看都有哪些字段,涵盖了哪些省市

粗看之下还算清晰,最后一列“更新时间”有点问题。没关系,直接在EXCEL里把单元格式改成日期型即可

打开PBI,导入数据。下载文件是CSV,导入时注意别选EXCEL数据源

03 数据清洗

数据导入后,字段名改不改中文看各人习惯。就以我自己所在地江苏常州为例(毕竟自己城市每天的数据要相对熟一点),先把城市筛选出来。

04 重点来了!!!有两个难点:

1)从更新时间上看,丁香园会每天刷新多次数据。如何取得每天最后一条数据?

2)每条数据记录的不是新增人数,而是汇总人数。如何得到每天增量数据,而不是总量?

根据“更新时间”新建“更新日期”列,把年月日单独列出来。

新建表: “精简时间表”=

SUMMARIZE('DXYArea',

DXYArea[省],DXYArea[市],DXYArea[更新日期],

"总死亡",MAX(DXYArea[市死亡]),

"总治愈",MAX(DXYArea[市治愈]),

"总疑似",MAX(DXYArea[市疑似]),

"总确诊",MAX(DXYArea[市确诊]),

"更新时间",MAX(DXYArea[更新时间])

)

SUMMARIZE函数可以对表进行分组(“SUMMARIZECOLUMNS”函数也有同样功效)。对于上表中“省”“市”这样重复值较多的列可以直接合并,而对于数据列值,则通过MAX函数取最大值。若前后两次数据无变化,则根据MAX(“更新时间”)来取最后一次更新时间。

好,第一个问题解决,我们已得到了每天最后一条数据。

05 问题2

第二个问题,如何通过每天发布的汇总数,得到每日增量?

如果想在原表本身通过新建列来实现,公式的复杂程度一定小不了。那是不是可以跳出表框架,直接用度量值来实现呢?

总确诊 = SUM('精简时间表'[总确诊])

总确诊_昨日 = CALCULATE( [总确诊], DATEADD('精简时间表'[更新日期],-1,DAY))

今日确诊 = [总确诊]-[总确诊_昨日]

昨天确诊 = CALCULATE( [今日确诊], DATEADD('精简时间表'[更新日期],-1,DAY))

基础度量值有了,其他诸如疑似、治愈、现存确诊,周累计、月累计、环比同比等这些度量值,就自由发挥吧!

省内兄弟城市对比,外省同级城市对比也可以搞起来,尤其是江苏弟兄们,继续发扬散装内斗精神,保持风格

本文作者:东军

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-17,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 PowerBI大师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com