基于Quick BI的用户分布分析

2017/03/30 22:04
阅读数 169

Quick BI的气泡地图功能能非常直观得体现全国各区域的数据情况。这里从网上搜了一份某社交网站的用户数据,数据量就五六万条,而且只包含这些用户的公开信息(省的自己还要去爬)。

数据预处理

数据包含的字段为uid、location、gender、followersnum、friendsnum,分别是用户id、所在区域、性别、关注人数、好友人数。里面的location这个字段是中文的,看到为“浙江”这样的就写了省的,也有是“浙江 杭州”这样到省、市的,而且中间用空格分割。另外还有一些写的是“海外”或“其他”。

先用个SQL对数据进行处理,整理出一个所在省的字段

create table wbuser2 AS
select b.*
  from(
select a.uid, a.`location`, a.`gender`, a.`followersnum`, a.`friendsnum`, a.`location` as province_name
  from `wbuser` a
 where instr(a.location, ' ')= 0
 union all
select a.uid, a.`location`, a.`gender`, a.`followersnum`, a.`friendsnum`, substr(a.location, 1, instr(a.location, ' ')) as province_name
  from `wbuser` a
 where instr(a.location, ' ')> 0) b

工作表

数据处理好了后,我们配置数据源,并根据这张表创建一张工作表,刚生成的工作表如图:
a101

然后我们需要对数据进行一些设置:

  • 设置地理位置维度
    a102

  • 修改计量的统计方式。我们不需要计算整个省的所有用户的总的好友数,也是想要平均值。关注也一样
    a103

  • uid我们使用count(uid)来获得每个地区的用户量分布。转化后因为uid是字符串类型,所以默认是count
    a103_2

  • 对于省是“其他”和“海外”的,我们不统计
    a104
    a104_2

  • 最后查询数据并保存。a104_3

仪表盘

最后我们创建一个仪表盘,格式为气泡地图,数据来自工作表
a105

本来所有的工作都已经完成了,但是看一下followersnum,发现台湾的数据怎么特别大,导致其他地区全是蓝点了。
a107

于是我们查一下数据,看看是怎么样的

select a.`province_name`,
       avg(a.`followersnum`) as followersnum
  from `wbuser2` a
 group by a.`province_name`
 order by followersnum desc;

看到台湾的数据特别大,除了台湾外,香港和北京也比较大。
a108
所以我们修改了图标的值域
a109
最后结果如下
a110

通过数据可视化,我们能更容易地发现数据中的一些异常和规律(比如台湾的followersnum特别大)至此大功告成!

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部