在上一篇中我们看到了Power BI在移动端的支持,从这一篇起降依次介绍Power BI中的各个功能组件,此篇讲通过一个故事来介绍如何在Power Query中获取并且组织数据。

在这个系列中,我们将看到Anna,一个分析师,或者一个报表创建者是如何利用自服务式的Power BI来发现数据,组织数据以及生成报告,以及发布报告的。

首先Anna打开了Excel 2013,找到Power Query标签。

点击Online Search。在工作簿的右侧出现了Online Search界面,Anna输入了搜索关键字S&P 500,有406条结果。

当鼠标悬停在结果上,可以看到关于这条结果的预览信息。

Anna确认第一条结果就是她想要的,于是点击预览窗体下的ADD TO WORKSHEET,并且将数据下载到了工作簿中。

接下来 Anna需要进一步的组织数据。她决定将近五年的股票数据加载到Power Query中进行组织和预览。

她在POWER QUERY标签中点击From File-> From Folder。

在Power Query的查询编辑器窗体中,默认的查询名称为Query1,Anna将其改成了一个更友好的名称,NYSE 2009 – Daily, 友好的名称对于后续的数据组织将更容易一些。

在这两个文件中的数据是比较大的,所以没有必要在这里将数据下载到工作簿中,而只关注数据中有哪些列就可以了,所以她将Query Settings面板中的Enable downloaded设置off。

到目前为止Anna已经拥有了S&P 500以及对应的股票数据,接下来Anna需要对这两部分数据进行合并。

(熟悉SQL语句的朋友可以将这里理解为是一个LEFT JOIN的过程。)

于是她点击Power Query中的Merge。

Power Query通过Merge将两个工作表的数据进行合并的功能,按下图的方式依次选择需要连接的两个表,然后选择关联列Ticker symbols。

将合并查询重新命名为SP500 – NYSE merge。在查询窗体中,Anna可以对数据进行进一步的组织,比如SEC列是不需要的,可以直接右键这一列选择Remove将其删除。

点击NewColumn按钮,可以选择将第二张表中的哪些列连接进来。

按照同样的方法Anna组织了另外一份合并NASDAQ的数据。但是Anna希望将两部分数据合并到一个工作簿中,于是她点击了 Append按钮。

(熟悉SQL的朋友可以将这里理解为UNION ALL。)

在弹出的Append窗体中依次选择需要合并的两张表。

Append中合并的数据会出现在接下来的查询编辑界面,同样可以在这里对数据进行组织以及将结果重新命名成一个友好的名称。

这样Anna就获取到了分别从NYSE和NASDAQ每日股票数据中合并而来的数据,并且根据她的需求进一步的组织了数据。最后数据将Query Settings面板中的Enable download设置成On以允许Power Query将数据下载到工作簿中。

接下来可以对数据的格式进行进一步的整理,比如将Date列设置成为日期类型。这个Excel操作相信大家都再熟悉不过了。对数据类型的合理设置,会使数据的读取更容易些。

完成以上操作后,Anna点击Query Settings面板中的Load to data model将数据加载到数据模型中,然后准备进一步在Power Pivot中进一步组织数据。

总结:

在Power Query中,你可以搜索来自于公司内部以及互联网上的数据,当找到数据之后,可以将数据进行进一步的整理,然后跟其它数据进行合并,对于数据量比较大的数据也可以选择临时不讲其下载到工作簿中,然后在数据组织完成之后再讲数据下载到工作簿中。

通过下面的图片,可以看到Power Query支持很多种数据源。

同时也可以从文件中获取数据。

以及更丰富的数据源。

Power BI for Office 365(二)Power Query的更多相关文章

  1. Power BI for Office 365 概览

    伴随着数据量的日益增长,通过自服务式的商业智能把数据转换成辅助决策支持的工具,越来越成为迫切的需求.在以前,处理这些数据往往只是IT人员范围内的事,但是通过Power BI for Office 36 ...

  2. Power BI for Office 365(七) Power BI站点

    报表分享是Power BI for Office 365比较关键的一个功能,其中提供的Power BI站点将给这些报表一个安全的"归宿",同时也可以跟任何想要分享的人进行协作--- ...

  3. Power BI for Office 365(八)共享查询

    在Power Query中,你不但可以搜索线上的数据,也可以把自己的数据发布到线上供其它人检索.Power Query通过Power BI站点提供了这种内置的分享功能.在Excel中,Anna打开了她 ...

  4. Power BI for Office 365介绍

    微软在七月份发布了一个新产品,它建立在微软的云的第一个数据平台- Power BI for Office 365.Satya Nadella,服务器和工具业务总裁,在当天的上午在微软的年度全球合作伙伴 ...

  5. Power BI for Office 365(三)Power Pivot

    在Power Pivot中可以从各种数据源中根据你的需求来创建数据模型,并且可以根据需要随时刷新这些数据.在上一篇中,Anna已经准备好了加载到Power Pivot中的数据.Power Pivot就 ...

  6. Power BI for Office 365(六)Power Map简介

    如果说Power BI中最给力的功能是什么,我觉得是Power Map.Power Map第一次是出现在SQL Server 2014的新特性里被提及,前身就是GeoFlow.在Power Map下可 ...

  7. Power BI for Office 365(一)移动端应用

    此篇来自于微软商业智能网站的官方博客团队发布的Power BI在线资料其中的一部分,完整版地址: http://office.microsoft.com/en-us/office365-sharepo ...

  8. Power BI for Office 365(五)Power View第二部分

    继续上一篇Power View 报表的创建, Anna觉得为每一个大类创建一张单独的报表似乎很不现实,所以她决定按照另外一种方式来设计报表,从而满足最终用户想要查看不同大类下的数据的要求. 于是Ann ...

  9. Power BI for Office 365(四)Power View第一部分

    Power View是一种可以创建动态的交互式报表的工具,并且支持丰富多样的图表类型,在Power View中创建的报表可以很容易地进行分享,以及供查看报表的用户对Power View报表进行交互.从 ...

随机推荐

  1. 关于jsp页面将表单填入数据库出现中文乱码绝对解决方案

    在所有jsp页面中添加两句话1.<%@ page language="java" contentType="text/html; charset=utf-8&quo ...

  2. C#-WebForm-ASP开发练习:从数据库中动态添加信息

    传统的ASP开发方式,是C#代码和HTML代码混合在一起,ASP与ASP.NET不是一个东西. <%  %>  -  可以扩起来一段范围,这一段范围之内只能允许编写C#代码 <%= ...

  3. 创建.emacs.d目录和.emacs文件

    1.双击bin下的addpm.exe 2.HKEY_CURRENT_USER->Software->GNU->Emacs 新建字符串值HOME,数值数据为emacs的安装路径 3.创 ...

  4. JS中匿名函数$(function(){ })和(function(){})()的区别

    “$(function(){ });” Jquery语法的匿名函数,用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在: (通过这样就可以在页面加载完成时通过ajax再异步加载一些数据) “ ...

  5. socket编程基础

    socket编程 什么是socket 定义 socket通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过套接字向网络发出请求或者应答网络请求. socket起源于Unix ...

  6. 动手实验iptables的NAT功能实现流量穿透

    1.NAT和iptables理论见: http://lustlost.blog.51cto.com/2600869/943110 2.引子 近期,有同事抱怨说数据入库时,由于数据库所在的服务器只有内网 ...

  7. 【CityHunter】游戏流程设计及技术要点

    目前CityHunter的核心玩法和主要的技术实现点已经全部到位,但是本人并未真正设计过整个游戏系统,所以只能循规蹈矩的先从最基本的流程图开始规划. 以上的流程是打开游戏直到控制台,接下来,是从控制台 ...

  8. 如何用java自带的工具生成证书

    一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...

  9. BootStrap 杂记

    1:Bootstrap中的弹出窗口组件Modal 2:让div或者文字居中 在标签的class里加上  text-center .

  10. 巧用setTimeout解决阻塞导致页面无法重绘

    项目中遇到一个javascript问题,大致如下: <!doctype HTML> <html> <head> <meta charset="utf ...