1
为什么数据分析师要掌握SQL语言?
日常工作中,分析的数据主要存于以下几种形式:
1、以文件形式存储
例如:excel、txt、csv格式。如果数据量很大,超过10万以上,在excel会发现打开都很困难,运行一个函数或者透视表要等半天。
但往往日常要分析的数据量可能远远大于这个量级,随时目前的大数据时代,对过去一年,二年历史数据进行分析很正常。
另一个在excel要计算相关的数据指标,会发现有时候非常麻烦。例如:计算某个商品连续多少天无销售;分组统计;计算用户复购买时间分布;同时在计算某个指标时候要进行各种条件过滤等在excel基本是无法完成。
2、以数据库的形式存在于数据库中。
这边特别说明,我们可以把存储于大数据平台(hadoop平台或其它技术平台)也可以认为数据是存储在数据库中。我们在工作中在后台,或者数据门户看到的各个数据报表 ,数据可视化图表,各种查询,后续连接都是数据库。
如果在工作中需要做相关的深入的专题分析,会发现报表中提供的数据往往无法满足数据分析需要或者相关要分析的数据没有做成数据可视化或者BI报表。特别是一些新业务。
这也就是为什么,很多大公司数据分析师:工作中很大都在SQL语言,从数据库中提取各种数据,满足业务需求。
所以如果你做为数据分析人员,SQL语言都不会,你都没有办法及时获取你要分析或者查看的各种数据指标,同时对数据指标进行各种维度分析与组合,你怎么可以解决业务问题。
即使公司给你配一个专门提取数据的人专人,你自己设计的数据指标或者逻辑。你需要讲半天,别人理解再提数据,还有可能错。
为什么很多做数据分析的人都在说,一定要懂业务,不懂业务做不好数据分析师
我经常说:不懂业务,你边数都取不好。因为你根本不知道你业务向你的需求怎么转化为对应要提取的数据指标与维度,不懂业务即使你的SQL技能再好,你也不知道如何下手。
所以SQL语言是数据分析人员必须掌握,必须掌握,必须掌握的基本的岗位技能。
2
学习SQL必经的三个Level
1.熟悉基本的增删改查语句及函数,包括select、where、group by、having、order by、delete、insert、join、update等,可以做日常的取数或简单的分析(该水平已经超过90%非IT同事);
2.掌握并熟练使用高阶语法,比如集合、分组聚合、子查询、条件逻辑、字符串函数、算术函数、日期时间函数,并且知道MySQL、Oracle、SQL Server等数据库的语法差异;
3.熟悉如何优化SQL语句,以期达到最高查询效率,了解事务、锁、索引、约束、视图、元数据等概念,并且学会使用hive sql、spark sql、pymysql等工具;
数据分析师最好是能达到第三个Level,这样基本可以算一个90分的sqler。
如果把excel类比sql,你得玩转透视表、各种函数公式,甚至VBA,才能最大效率地赋能工作。
3
业务理解
SQL语言是工具,最终是为了服务业务的。
所以我认为SQL语言最终的掌握程度是,你对业务理解足够够,知道需要用什么样的数据指标来分析、解决业务问题。
所以,我觉得工具使用最高层次还是基于对业务理解足够透后,再回过来知道要怎么使用工具。
文章来源:网络 版权归原作者所有
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系学掌门小编(021-64471599-8103),我们将立即处理
更多数据分析相关推荐: