引言:看到标题,你是否有些困惑?在Excel上具有数据获取的能力是指什么?难道不是把csv格式的表格和Excel格式的表格打开就行了吗?然而并不是这样。
本文选自《数据化运营速成手册》。数据库
其实标题中有两层意思:第一层意思是在一些数据库管理不那么严格的中小型企业,能够经过Excel中的ODBC数据接口,与数据库或者数据仓库创建链接,直接快速取数,提升工做效率;第二层意思是Excel 2016中有至关强大的数据获取工具,即使不能从数据库直接获取,也能从多个本地的数据表中将数据抽取、整理和转化,并作到实时更新,也能提升工做效率。微信
下面就用简短的篇幅介绍Excel中的“数据查询”功能。如图1所示,在“数据”选项卡下面单击“新建查询”下拉菜单,就能看到Excel提供的数据获取抓手很是丰富。能够从本地的其余工做簿,也能够从SQLServer、MySQL、Oracle等数据库,还能够从Hadoop的HDFS文件查询获取数据。本节以从本地文件查询和从Web端查询为例介绍。ide
延续以前的例子,咱们将表A、表B和表C分别创建成3个Excel文件。在“新建查询”中单击“从工做簿”后,选择咱们要的表A,就会出现一个链接的“导航器”,如图2所示。若直接单击“加载”按钮,则表A的数据会所有进入打开的工做表,并创建一个查询链接。若咱们单击“编辑”按钮,则会弹出编辑查询的设置界面。在“查询编辑”面板中,能够可视化地实现SQL,诸如选择列、添加筛选条件、构造新的字段等,如图3所示。工具
咱们的目的是将表A、表B和表C三张表合并。那么,最合理的作法是将表B做为主表,把表A和表C的内容合并上去。首先,咱们分别创建了针对三张表的查询,如图4所示。ui
第二步开始设置表B的查询,点开设置面板后,单击“合并查询”按钮,如图5所示。.net
第三步,在“合并查询”的设置面板中,选好两张表对应的键,即“用户ID”,而后在“联接种类”中选择“左外部(第一个中的全部行,第二个中的匹配行)”,这就是一个“LEFT JOIN”,如图6所示。
单击“肯定”按钮后,查询设置界面上出现一个“NewColumn”,如图7所示,点开它右边的按钮,在下拉列表框中选择要匹配进表B的字段,选择“用户姓名”、“所在区域”、“性别”和“注册来源”。
完成这一步,实际上表A和表B已经成功合并了,咱们再次单击“合并查询”选项,如图8所示,按刚才的操做,将表C中的“事件”字段进行“LEFT JOIN”,终于大功告成,如图9所示。
通过上述步骤,不一样的表创建查询后,做为数据源的表一旦有变更,咱们只要右键单击查询设置页面中上方的“刷新”按钮,数据就会更新。不须要反复地复制粘贴,更不须要手动写函数转化,大大提升了工做效率。
对这个内容再作一点小小的延伸。在工做中,做者会根据分析需求,先用查询工具将各个来源的表链接成一个主表;而后由这个主表作透视表和数据透视图,数据透视表的数据源就是引用整张表对象,而不是一个区域。这样能实现数据报表的半自动化。只要数据源进行了更新,那么打开制做报表的Excel工做簿,将查询连接更新一下,再将数据透视表更新一下,新的报表就完成了。用这个方法,可将原来半天的工做量压缩为30分钟,效率的提高是很是可观的。
除了在本地文件之间创建查询,再简单介绍如何从网页上爬取数据。咱们从NBA数据统计网站上拉取某个页面上呈现的上个赛季东西部球队的战绩状况,如图10所示。
过程其实很是简单。首先,创建一个从Web端的数据查询。单击图11所示的“从Web”选项后,在弹窗中输入URL,单击“肯定”按钮。接着,Excel就会自动访问这个网页,并将网页中存储在
标签内的数据内容抓取出来。而后,熟悉的页面出现了。如图12所示,在“导航器”中,咱们看到了网页中呈现的数据。直接单击“加载”按钮,数据就会出如今咱们的Excel工做表中。
在Excel中,获取数据的功能其实很是强大,而做者只使用了其中的“冰山一角”。但愿你们在平常工做中多学多用,并把有价值的经验分享出来。
本文选自《数据化运营速成手册》,点此连接可在博文视点官网查看此书。
想及时得到更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。