经常有刚从事数据分析的新手问我做数据分析工作需要学习什么,如何规划自己的学习路径。我会告诉他:如果你还擅长用Excel,那就先学Excel吧。当你用Excel处理和分析一些小数据集没有问题的时候(具体表现是:常用的函数公式信手拈来,数据透视表,过滤,排序,图表绘制操作熟练),你就会学会SQL语言,然后用BI分析熟悉业务。然后到了某个阶段,就可以开始使用R或者Python了。后面如果能更进一步,可以学习一些大数据框架,比如Spark。为什么要学习Excel?首先,Excel是我们最常用的数据分析处理工具。Excel的功能非常丰富,基本可以涵盖我们后面在其他软件(SQL、BI、Python、R)中学习的那些功能。可能有人会问,既然Excel这么强大,为什么还要学习其他工具呢?这是因为Excel是以菜单形式操作的,很难实现自动化和功能复用。当然你也可以通过VBA来实现。使用VBA就是编程,但是由于VBA是一门语言,基本上只能用在办公软件中,所以学习的投入成本与产出收益是不成正比的。不建议学习。这是客观原因之一;二是Excel性能较差,在处理比较大的数据集时经常崩溃。(虽然Excel2013及以上版本号称可以容纳100万+条记录,但几万条记录就开始卡住了)。为什么学了Excel还要学SQL?客观原因是大部分数据分析岗位对SQL技能都有要求。为了保证数据的安全和管理的方便,企业中的数据统一存储在数据库中。从数据库中提取和查询数据需要使用SQL语言,有些公司甚至使用SQL语言进行数据分析。还有一个原因就是即使你先学了其他的工具,比如R,Python,甚至是Spark这样的大数据框架,你会发现还是要学SQL。如果你先学习SQL,那么在学习R、Python、Spark和其他更复杂的工具之前,你可以搞清楚很多概念。对以后的学习会有帮助。这就好比盖房子,先打地基,然后一层层盖起来。SQL语言的学习排在Excel之后,排在其他工具之前。还有一个很重要的原因是,SQL可以在一定程度上帮助Excel解决大数据集的问题,同时也为其他工具架起了一座桥梁。数据库和SQL的学习也分为两部分。第一部分讲数据库和表的概念。其次是SQL语句的掌握和数据库的操作。一、数据库基础知识先说说我对数据库的理解。顾名思义,数据库就是数据的集合,由数据表组成。在物理实体上,就是一堆写在磁盘上的文件,文件里有数据。这些最基本的数据组成一个表,我们把它想象成一张Excel表格,如下图所示:每个表都有一个标识符,就是主键,也就是ID。ID是数据库中的一个重要概念,称为主键,用来表示数据的唯一性。这是唯一等同于我们身份的文件。有了它,我们就知道数据在哪里。ID通常没有商业意义。它是一个唯一标识符。每个表只能有一个主键,主键通常是一个整数。主键一旦建立,其值通常是不允许修改的。数据库是表的集合。一个数据库中可以放多个表,我们给每个表命名,表之间可以相互连接。联系意味着可以相应地匹配数据。正式名称叫join,对应的操作叫join。我们把它想象成Excel中的vlookup。比如上面两张图,左图是学生信息表,右图是教师信息表。左边的主键是学号,右边的主键是教师号。细心的读者可能会发现,右图中还有一张学生证。这里的学号是专门用来加入user表的,不是主键。只是两个表通过唯一的学号信息关联起来。但是两个表之间的关联并不是信息的一一对应,会存在间隙,比如:两个表之间的关联就会变成:理解了上面的概念,你就知道什么是关系型数据库了.简单的说,它是由多个二维的行列表组成的可以相互连接的数据库。在准备数据时,我们通常需要建立表关联来进行分析。关系数据库是基于关系代数模型开发的。常用的关系型数据库有SQLServer、MySQL、Oracle、DB2等,这个要看企业的使用情况。我们的后续研究将集中在MySQL上。各种关系型数据库(不感兴趣可以跳过):DB2:关系型数据库,适用于大型分布式应用系统,确实是非常非常好的数据库,无论稳定性、安全性、恢复性等都无可挑剔,非常适合小规模到大规模的应用。但是使用起来非常麻烦,而且安装要求也很多,而且很多软件都可能和DB2冲突,因为DB2一般都是安装在小型机或者服务器上,所以在PC上安装非常麻烦。创建一个新的图书馆需要设置很多东西并分配各种存储空间。Oracle:是目前市场占有率较大的数据库。我在学习SSH的时候用的是Oracle。安装很麻烦,程序文件有3G之多。。。用起来很方便,对于我这样的初学者,配置非常简单,对于要求高的企业级应用,它还有非常复杂的配置和管理方法。它有一个非常强大的数据字典,可以说是目前最实用的数据库,但是查了一下,就是贵。..MSSQL:一开始我用的是2000和2005版本,??这两个版本差别很大。2000数据库做的不错,程序小,操作简单,功能比较齐全。各方面都算得上是一个中等的数据库。它是一个中型数据库。我的毕业设计是用MSSQL2000做的,2005年的时候加了很多功能,复杂了很多,有大数据库的风格,价格也变高了。我个人认为,除非你使用的是WindowServer系统或者微软的产品,否则还是用Oracle比较好。MySQL:MySQL是一个很好的关系型数据库,免费,功能齐全,程序小,安装方便,现在很多网站都用MYSQL,字段约束有点差,其他都不错,和MSSQL用的差不多.Access:典型的桌面数据库,我觉得是一个单机系统,比如会计,保管东西等等。在局域网中运行一个小系统就足够了。数据源连接非常简单。因为是Office数据库,Windows自带数据源。更多关于数据库的知识,看一本书就够了《数据库系统概论》。2、尝试使用MySQL数据库。如果你没有接触过数据库和SQL,建议你下载安装MySQL资料试试。MySQL数据库的下载安装比较简单,安装完成后即可使用。可以访问MySQL官网下载,网址如下(此处给出Windows版下载地址):“链接”下载MySQL时需要免费注册,注册页面为英文。下载该工具后,点击运行,该程序可以自动为您在网上安装MySQL并自动配置。安装过程中需要设置密码,自己设置一个登录密码,记住下次登录MySQL时需要这个密码。解压后没有my.ini文件(我的端口设置为3308),我在截图中添加了。管理员命令行:在MySQL安装目录的bin目录下执行命令:mysqld--initialize--console得到如下结果:看到警告,查看mysql提示使用utf8mb4修改my.ini文件。警告消失了。上面打印了默认密码:nj>uUJkpH4/I然后,安装服务:mysqld--installMySQL8.0因为这是电脑上的第二个mysql,服务名改为MySQL8.0启动服务:netstartMySQL8.0更改初始密码登录mysql然后执行:ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordBY'123456';连接MySQL和Excel或其他数据分析工具。在默认安装的情况下,有一个插件可以让MySQL数据库连接Excel。试想一下,我们在MySQL数据库中使用SQL语言对大量数据进行处理和计算,将计算结果存储在特定的数据表中,然后通过Excel连接到MySQL数据库,将数据读取到Excel中,使用Excel分析绘制图表,省去了从数据库导出数据再导入Excel的麻烦,能不能提高效率?后面分享一个通过ODBC驱动连接一些报表BI工具进行分析的操作。学习MySQL的推荐书籍《MySQL必知必会》。
