当处理数据超过10w条,文件超过50M,你需要考虑一款新的数据处理软件,MS旗下Access应该是最好上手,最便捷的一款。当然,数据处理的工具不止这款,R、Python、Spoon同样值得拥有!但是单单从DA的角度来看,我们关注的点在Analysis,难点BigData,用MS旗下Access足以将Data从50M10w条里瘦身。一起来学习一下!
PS:当然,SQL结构化查询规则较多,尤其MS旗下Access,先Mark,后续补上Python&R(又给自己挖坑 ><)
录入数据
打开Access,外部数据选项卡插入BigBoss(需要瘦身的data源),我保存的是excel文件,也可以是text等,你可以导入数据,也可以创建表链接。
数据瘦身
创建查询,就可以开始你数据瘦身之路。
点击“user”表,你可以看到倒入的数据明细;
屏幕右下角,点击SQL,调出查询界面,在这里,你可以开始SQL查询语句。
数据处理
作为一名DA,我们是结果导向型的,我们看到data的第一个想法是:我们能够从数据中挖出什么纬度。。。这个也是我一直在思考的问题。。以下就我研究的一些纬度做简单分享。
一、地理分布
SELECT provice_name , count(id) as times
FROM user
GROUP BY provice_name;
REULT:可以用ORDER BY 降序(默认ASC),也可以手动降序
SELECT provice_name , count(id) as times
FROM user
GROUP BY provice_name
ORDER BY times DESC
;
另,分组的条件查询不可以用WHERE,要用HAVING。
二、转化率
成功为1,失败为0
SELECT level_id,
count(level_success) as num,
sum(level_success) as suc,
suc/num as suc_rate
FROM user
group by level_id
;
三、留存
一天一张表(结构完全相同)
去重,值为1,统计频次
select distinct date4.ip,count(*) as how_many,1 AS has_left from date4 group by date4.ip
;
留存用户统计:
select n.d as 日期, n.newuser as 新增用户, l.has_left as 次留用户, has_left/newuser as 次日留存率
from(
select '0803' as d,count(1) as newuser from (SELECT t1.ip FROM date3 t1 group by t1.ip)
) n left join(
select '0803' as d,count(1) as has_left from (select t1.ip from date3 t1 inner join date4 t2 on t1.ip = t2.ip group by t1.ip)
) l on n.d = l.d
;