上一篇中我们看到了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. UITableView的使用

    参考:IOS7.0 programming cookbook. http://www.cnblogs.com/kenshincui/p/3931948.html http://blog.csdn.ne ...

  2. java-工具类-读取配置文件

    java读取配置文件,当发现文件被修改后则重新加载 package com.zg.config; import java.io.File; import java.io.FileInputStream ...

  3. onmousewheel跟onscroll的区别

    研习DOM中的事件方法,发现一些细微差别,百度一下没有类似的解答,随手记下来. onmousewheel事件  以下摘自http://help.dottoro.com/ljmracjb.php Bro ...

  4. 使用自定义tld标签简化jsp的繁琐操作

    最近做一个树形结构的展示,请求目标页面后,后台只返回简单的List,虽然有想过在jsp页面内做一些操作简化,但是太繁琐了,其他的标签又不能满足需求,所以只能自己做一个.使用tld标签可以简化jsp代码 ...

  5. shell知识点小结

    目录 引言 shell中的数组 数组的定义 数组的使用 实际的例子 shell中大小的比较 shell中的括号 shell中函数的定义 杂项知识点 字符串转数组 常用判断标志 linux后台运行相关 ...

  6. 30个要点帮你完成java代码优化

    通过java代码规范来优化程序,优化内存使用情况,防止内存泄露 可供程序利用的资源(内存.CPU时间.网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务.优化通常包含两方面的内容 ...

  7. TypeError: 'bool' object is not callable g.user.is_authenticated()

    此问题查了stackoverflow后知道is_authenticated是一个属性而不是一个方法所以g.user.is_authenticated() 用法会报错

  8. 将javascript函数写在Html标签里

    有些时候不想把函数写在script标签里了,想直接在html标签里直接加上js代码,可以这样写: <body onload="javascript:{window.location.h ...

  9. 在ie浏览器,360浏览器下,margin:0 auto;不居中的原因

    转自 http://blog.sina.com.cn/s/blog_6eef6bf60100nn4m.html margin:0 auto:不居中可能有以下两个的原因 没有设置宽度 看看上面的代码,根 ...

  10. thwen 缓动框架

    描述 目前提供一个方法 ele 元素对象 obj 操作 duration 时间 effect 缓动选择 thwenMove(option) 框架支持以下缓动策略 -指数衰减的正弦曲线缓动 -圆形曲线的 ...