如何使用Power BI对2019互联网趋势报告进行进一步的分析

2019-06-13  本文已影响0人  Data_Skill

一、 全球互联网用户分析

报告页_008报告页_008

我们从图表中看到,增长率从2010年开始整体还在增长,但是增速还是下降为主,在2018年的时候出现了个反弹。也就是说增速是一直在降低,这个是什么原因导致的呢?互联网用户还能增长多少呢?我们通过全球人口数据分析得到如下展示。

2019人口Top202019人口Top20

我们要先了解目前全球总人口数,我们通过互联网搜索下全球人口,找到一个2019年世界人口排名的网页,我们可以通过Power Query来获取其数据来进行下一步的分析。https://www.phb123.com/city/renkou/rk.html

2019世界人口排名2019世界人口排名

1. 数据抓取

我们打开网页可以看到这个是有多个页面组成的一个数据表,我们点击末页可以看下一共有多少页(这个是为了方便我们循环抓取使用)。点击后发现一共12页,同时网页地址是这样的。https://www.phb123.com/city/renkou/rk_12.html

数据页面数量数据页面数量

也就是说,最终网页变化的就是rk_之后的这个数字。那我们进入Power Query里面,看下如何进行抓取。
使用从web导入的方式随便导入其一页的地址,可以发现数据是存在在Table 0标签里的。

2019人口数据源2019人口数据源

我们勾选Table 0后可以进入到编辑页面,并打开高级编辑器,可以看到里面主要是有3行代码。源,Data0也就是导航以及更改类型3个步骤。我们可以把源和Data0组合下。

单网页数据抓取单网页数据抓取

我们主要是针对第一条代码进行循环抓取。

List.Transform({1..12}, each 
              Web.Page(Web.Contents("https://www.phb123.com/city/renkou/rk_"
                                    & Text.From(_) &
                                    ".html"
                                    )
                       ){0}[Data]
              )

得到一个包含表格的列表格式。

循环抓取结果循环抓取结果

我们再次转换成表格并展开即可得到我们所需要的数据。并在最后一步把数据格式都调整下并加载到Power BI的表里。

2. 在Power Pivot里面进行格式调整。

对国家这里把数据分类选择为国家/地区;增长率格式为百分比,并保留3位小数;人口数量这里也可以改成千分位。

人口数量格式调整人口数量格式调整 增长率数据格式调整增长率数据格式调整 国家数据格式调整国家数据格式调整

3. 编写度量值

A. 世界总人口数

世界总人口 = Round(Sum([人口数量])/100000000,3)

解释:
因为我们不需要很精确,一般表示世界人口可以用亿为单位,所以这里就直接求和后除以亿并保留3位小数。

B. 数量最多的前20位国家人口数量

人口top20 = 
var top20_rk=Topn(20,All('世界人口'[国家]),[世界总人口])
return Calculate([世界总人口],top20_rk,Values('世界人口'[国家]))

解释:
因为我们查看数据都是以国家为维度,所以在求Top20的时候需要添加All来忽略国家的维度。但是最后要仅显示前20位的时候,则还需要把维度还原,所以用了Values。

C. 数量最多的前20位国家的人口增长率

Top20_增长率 = Calculate(Average('世界人口'[增长率]),
                        TopN(20,
                             All('世界人口'[国家]),
                             '世界人口'[世界总人口],
                             DesC),
                        Values('世界人口'[国家])
                         ) 

解释:
写法差不多,只不过这里省略了变量,同时求和改成了平均值(这里无所谓是用哪个,因为最终会被筛选成为唯一值,只不过增长率一般来说不大会用累计求和)。

4. 可视化展示

这里我们一共用了2个图形,一个是地图,一个是折线和簇状柱形图。

A. 地图

可视化选项里面选择地图。

可视化_地图可视化_地图

把对应的维度及数据拖入进对应的地方即可。

可视化_地图_数据可视化_地图_数据

在属性里面,可以把标签类别的字体大小,气泡的大小相应改动即能得到如上效果。

可视化_地图_属性可视化_地图_属性
B. 折线和簇状柱形图

可视化里新建一个折线和簇状柱形图

可视化_折线和簇状图可视化_折线和簇状图

把共享轴,列值,行值分别填入相对应的数据。

可视化_折线和簇状图_数据可视化_折线和簇状图_数据

更改X轴国家字段以及标签的文字大小,调整到合适位置。

可视化_折线和簇状图_属性_X轴可视化_折线和簇状图_属性_X轴

因为我们把柱形图和折线图相对分隔开,所以就需要调整Y轴的最大值和最小值以便能够让图形看起来更容易。

可视化_折线和簇状图_属性_Y轴可视化_折线和簇状图_属性_Y轴

这里我们把人口的最大值改为20,增长率的最小值改为-0.15,这样就能把柱形图和折线图相对的隔开。

可视化_折线和簇状图_属性_Y轴数值可视化_折线和簇状图_属性_Y轴数值

这样我们就把这张世界人口图给做好了。
那我们做国际贸易,使用这张图能知道些什么呢?

5. 分析结果

目前全世界总人口约为75.8亿人,互联网用户目前为不到40亿,正好和后面一张分析图形成51%的互联网渗透率的对应关系,数据能够得到相互印证。

报告页_010报告页_010
上一篇下一篇

猜你喜欢

热点阅读