2.4 自动整合外部数据源:Excel不再是自己玩
小勤:我们要分析的数据有些在Excel表里,还有些在数据库里,甚至有些需要从网站中复制出来,用Power Query能将这些数据自动整合在一起吗?
大海:当然可以。而且比以前Excel里导入外部数据的方式更加自动和强大。
小勤:那怎么做呢?
大海:非常简单,而且方法都类似。在Power Query中,切换到“数据”选项卡,单击“新建查询”按钮,在下拉菜单中选择“从文件”→“从数据库”命令,可以看到,Power Query支持从各类常用数据源导入数据,如图2-22所示。
小勤:Power Query既能从Excel文件导入数据,还能从文件夹、数据库、在线服务数据等导入数据,真是太厉害了。
大海:除此之外,还能直接导入一些网站的数据并和自己的数据进行整合及分析。
小勤:那太好了,我经常需要从一些财经网站中复制一些市场情况数据,比如股市情况数据等,每次做相关分析时都得重新到网站上复制数据,整理后再做分析,可麻烦了。
大海:用Power Query就可以直接从那个网站导入数据,和自己的数据结合起来分析,而且,当你想用最新的数据进行分析时,刷新一下就可以了。
图2-22 Power Query支持的各类数据源
小勤:这真是太自动化了,具体怎么做呢?
大海:比如,下面以某个网站的数据来看一下具体是怎么做的(数据所在链接地址:http://101.132.130.88/Report/excel-powerbi-web-data/hs_1.htm),如图 2-23所示。
备注:该数据为某个历史时点的沪深A股部分数据,仅供学习测试使用。网站的IP地址、域名、网页设计等可能会发生变化,如果在练习过程中发现本例中所提供的网址不可用,请关注微信公众号“Excel到PowerBI”获取最新可用链接。
图2-23 网站数据示例
接下来使用Power Query直接把这个网页里的数据导入Excel里,操作非常简单。
Step 01 在Excel里切换到“数据”选项卡,单击“新建查询”按钮,在下拉菜单中选择“从其他源”→“自网站”命令,如图2-24所示。
Step 02 在弹出的对话框中输入网址,然后单击“确定”按钮,如图2-25所示。
图2-24 从网站新建查询
图2-25 输入网址信息
Step 03 稍等片刻,在弹出的对话框里的“Table 0”表里出现该网页的预览数据。选中“Table 0”表,单击“编辑”按钮,如图2-26所示。
图2-26 预览网站数据表
Step 04 更改数据类型:可以看到Power Query默认地将代码转成了整数,导致前面的“0”都丢失了,所以需要改回来。选中“代码”列,切换到“转换”选项卡,单击“数据类型”按钮,在弹出的菜单中选择“文本”命令,如图2-27所示。
在弹出的对话框中,单击“替换当前转换”按钮,如图2-28所示。
图2-27 更改数据类型
图2-28 替换当前转换
注意:不能单击“添加新步骤”按钮。因为,Power Query里默认生成的“更改类型”步骤里已经把文本转成了整数,那些“0”都已经丢失了,如果再增加步骤,则即使能将数据转换成文本格式,但那些“0”也变不回来了。
Step 05 按需要继续调整数据。调整完毕后,可上载数据到Excel中,或结合其他数据进行分析。此处先将数据返回Excel:切换到“开始”选项卡,单击“关闭并上载”按钮,如图2-29所示。
这样在Excel里就接入了该网页的数据,当我们想看最新数据时,只要刷新一下就可以了:选中表中任意位置,切换到“数据”选项卡,单击“全部刷新”按钮(如果工作簿中有多个查询结果,则也可以按需要分别刷新),如图2-30所示。
图2-29 关闭并上载数据
图2-30 刷新数据
小勤:太厉害了,原来Power Query不光可以整合Excel的数据,还可以整合各类数据库中的数据,甚至网络中的数据。
大海:对。而且入口都比较简单,除专业数据可能需要向相关的IT人员索要IP地址、用户名、密码和数据库名称外,其他各种数据的导入操作都非常简单,都是通过简单的鼠标操作并填入一些必要的信息即可。
小勤:嗯。有需要时再试都不迟。