免费试用
banner

用Excel获取数据——不仅仅只是打开表格

作者: afenxi来源: afenxi时间:2016-12-09 19:54:200

摘要:在Excel上具备数据获取的能力是指什么?

看到标题,你是否有些困惑?在Excel上具备数据获取的能力是指什么?难道不是把csv格式的表格和Excel格式的表格打开就好了吗?其实这里有两层意思:第一层意思是在一些数据库管理不那么严格的中小型企业,可以通过Excel中的ODBC数据接口,与数据库或者数据仓库建立连接,直接快速取数,提高工作效率;第二层意思是Excel 2016中有相当强大的数据获取工具,即便不能从数据库直接获取,也能从多个本地的数据表中将数据抽取、整理和转化,并做到实时更新,也能提高工作效率。

下面就用简短的篇幅介绍Excel中的“数据查询”功能。如图1所示,在“数据”选项卡下面单击“新建查询”下拉菜单,就能看到Excel提供的数据获取抓手非常丰富。可以从本地的其他工作簿,也可以从SQLServer、MySQL、Oracle等数据库,还可以从Hadoop的HDFS文件查询获取数据。本节以从本地文件查询和从Web端查询为例介绍。

用Excel获取数据——不仅仅只是打开表格-数据分析网

图1  数据查询功能

延续之前的例子,我们将表A、表B和表C分别建立成3个Excel文件。在“新建查询”中单击“从工作簿”后,选择我们要的表A,就会出现一个连接的“导航器”,如图2所示。若直接单击“加载”按钮,则表A的数据会全部进入打开的工作表,并建立一个查询连接。若我们单击“编辑”按钮,则会弹出编辑查询的设置界面。在“查询编辑”面板中,可以可视化地实现SQL,诸如选择列、添加筛选条件、构造新的字段等,如图3所示。

用Excel获取数据——不仅仅只是打开表格-数据分析网

图2  新建数据查询

用Excel获取数据——不仅仅只是打开表格-数据分析网

图3  编辑数据查询

我们的目的是将表A、表B和表C三张表合并。那么,最合理的做法是将表B作为主表,把表A和表C的内容合并上去。首先,我们分别建立了针对三张表的查询,如图4所示。

用Excel获取数据——不仅仅只是打开表格-数据分析网

图4  新建与源数据的查询

第二步开始设置表B的查询,点开设置面板后,单击“合并查询”按钮,如图5所示。

用Excel获取数据——不仅仅只是打开表格-数据分析网

图5  应用合并查询

第三步,在“合并查询”的设置面板中,选好两张表对应的键,即“用户ID”,然后在“联接种类”中选择“左外部(第一个中的所有行,第二个中的匹配行)”,这就是一个“LEFT JOIN”,如图6所示。

用Excel获取数据——不仅仅只是打开表格-数据分析网

图6  合并中设置匹配列和联接种类

单击“确定”按钮后,查询设置界面上出现一个“NewColumn”,如图7所示,点开它右边的按钮,在下拉列表框中选择要匹配进表B的字段,选择“用户姓名”、“所在区域”、“性别”和“注册来源”。

用Excel获取数据——不仅仅只是打开表格-数据分析网

图7  选择要匹配的字段

完成这一步,实际上表A和表B已经成功合并了,我们再次单击“合并查询”选项,如图8所示,按刚才的操作,将表C中的“事件”字段进行“LEFT JOIN”,终于大功告成,如图9所示。

用Excel获取数据——不仅仅只是打开表格-数据分析网

图8  新的合并中再次设置匹配列和联接种类

用Excel获取数据——不仅仅只是打开表格-数据分析网

图9  完成合并后的效果

经过上述步骤,不同的表建立查询后,作为数据源的表一旦有变动,我们只要右键单击查询设置页面中上方的“刷新”按钮,数据就会更新。不需要反复地复制粘贴,更不需要手动写函数转化,大大提高了工作效率。

对这个内容再做一点小小的延伸。在工作中,作者会根据分析需求,先用查询工具将各个来源的表连接成一个主表;然后由这个主表做透视表和数据透视图,数据透视表的数据源就是引用整张表对象,而不是一个区域。这样能实现数据报表的半自动化。只要数据源进行了更新,那么打开制作报表的Excel工作簿,将查询链接更新一下,再将数据透视表更新一下,新的报表就完成了。用这个方法,可将原来半天的工作量压缩为30分钟,效率的提升是非常可观的。

除了在本地文件之间建立查询,再简单介绍如何从网页上爬取数据。我们从NBA数据统计网站上拉取某个页面上呈现的上个赛季东西部球队的战绩情况,如图10所示。

用Excel获取数据——不仅仅只是打开表格-数据分析网

图10  NBA数据统计网站

过程其实非常简单。首先,建立一个从Web端的数据查询。单击图11所示的“从Web”选项后,在弹窗中输入URL,单击“确定”按钮。接着,Excel就会自动访问这个网页,并将网页中存储在<table></table>标签内的数据内容抓取出来。然后,熟悉的页面出现了。如图12所示,在“导航器”中,我们看到了网页中呈现的数据。直接单击“加载”按钮,数据就会出现在我们的Excel工作表中。

用Excel获取数据——不仅仅只是打开表格-数据分析网

图11  从Web端建立数据查询

用Excel获取数据——不仅仅只是打开表格-数据分析网

图12  从Web端爬取NBA战绩数据

在Excel中,获取数据的功能其实非常强大,而作者只使用了其中的“冰山一角”。希望大家在日常工作中多学多用,并把有价值的经验分享出来。

——本文选自《数据化运营速成手册》,由电子工业出版社投稿

用Excel获取数据——不仅仅只是打开表格-数据分析网 编辑推荐 本书适读人群:互联网公司的数据分析师、运营人员、产品经理,以及中层管理人员。 掌握基础图表的高级特性 梳理数据化运营的基本方法、原则、思维模式 深度量化分析方法(朴素贝叶斯模型、假设检验、方差分析、回归分析、时间序列分析模型等) 帮助你科学地决策 内容提要

《数据化运营速成手册》用于提升互联网公司员工的数据应用能力,即数据化运营能力。首先,从最常用的数据图表切入,帮助执行层正确地绘图,管理层正确地看图;接着,梳理运营中最基本的数据应用知识,涉及数据获取、数据清洗、数据认知、分析框架、指标体系、运营实验等内容。然后,介绍作者认为必要的统计学知识,包括假设检验、方差分析、回归分析和时间序列分解,并引入了管理科学中的规划求解方法。最后,介绍了数据分析工具的发展趋势,并分享了作者近些年的工作及学习心得。

《数据化运营速成手册》适用于互联网公司的数据分析师、运营人员、产品经理和中层管理人员。

banner
看过还想看
可能还想看
热点推荐
Yonghong的价值观:以卓越的数据技术为客户创造价值,实现客户成功。