在Power Pivot中可以从各种数据源中根据你的需求来创建数据模型,并且可以根据需要随时刷新这些数据。在上一篇中,Anna已经准备好了加载到Power Pivot中的数据。Power Pivot就是这样一个在Excel中创建并且管理表格数据以及表之间的关系的一个工具。

Anna在把NYSE和NASDAQ的数据加载到数据模型之后,她还想单独加载一份S&P 500的数据表。于是她回到先前搜索到的数据表,然后在POWERPIVOT标签下选择Add to Data Model添加到数据模型。

当表被添加到数据模型之后,Power Pivot会单独打开一个窗体,然后显示她刚添加的数据模型。同样,她也可以在Power Pivot工具栏下点击Manage找到Power Pivot窗体。

在Power Pivot中跟Excel的一样,表格都以标签的形式组织起来。Anna双击其中的一个标签,把其重命名为SP 500,这样会使后续的模型组织更清晰明了。

Anna观察数据之后发现,她所需要的实际上是一个年度级别的数据,而这个数据只需要年度的第一笔数据和最后一笔数据就可以了。所以她从Power Pivot回到Excel中找到了那个NYSE和NASDAQ数据的查询,在工具栏上的表工具下找到Duplicate将数据复制出来一份,然后在此基础上筛选出每年第一天和最后天的数据。

点击Duplicate之后,查询窗体出现,并且从中筛选出了每年第一天的数据。

由于每年第一天和最后一天的数据是要合成一行的,所以Anna又根据上面同样的方法筛选出了每年最后一天的数据集,最后将这两个查询拼接到了一起。

完成这一步的数据组织之后,她将查询命名成为SP500 Annual Data,然后从中选取了她需要的列,比如First Day Close和Last Day Close。并且为了后续报表等操作数据更清晰明了,将其中的列进行了重命名这样看上去会更友好一些。

基本数据组织完成之后,接下来开始在Power Pivot中创建计算成员。

在Power Pivot中,任何一张表都可以创建新列,这些列的数据可以是来自表格数据的现有列,并且可以在此基础上套用不同的公式。这些计算成员通常就被叫做计算项(英文原文为calculated fields,后续官方的翻译可能会跟此略有不同)。

在Power Pivot中,计算项的创建用到的是DAX表达式,Data Analysis Expression。DAX表达式的优点在于它跟Excel的公式非常接近。任何用户如果他对Excel的公式比较熟悉的话,那么DAX他同样也可以很快的上手。

Anna创建的第一个计算成员为计算年度损益的项。他点击Add Column下的单元格,然后在DAX公式栏输入计算公式。在公式的输入过程中,是带有智能感知的,这使Anna在输入公式的时候获得了更高的效率和准确性。

当公式输入完成之后,在表中的数据行后面会显示相应的结果。按照同样的方法,Anna为表添加了其它的计算项。

此外,Anna还想加入一些汇总列。她选择了Power Pivot中计算区域的一个单元格,按下图输入了计算公式。

接下来 Anna需要在Power Pivot中创建数据模型之间的关系。关系的创建允许表间基于一列建立关联,这样在后续的报表创作中就可以获取到跟一个表相关的数据。

首先Anna切换到了架构图形视图,并且根据ticket symbol这一列,从SP500表中创建了关联到另外两张表的关系,把表中的一个列拖拽到另外一类就可以创建表间的一个关系。

拖拽完成后,就可以看到在两个表间拉其了一条关联线。选中这条线之后,就可以观察到这两个表之间是通过哪一个列建立起的关联关系。

最后Anna需要做的就是创建层次结构。层次结构的定义会在报表等很多分析客户端中为用户提供一个很好的导航层次。比如,地理层次,从国家到省再到市,或者时间上的层次关系,从年到月再到天。

也就是说,层次的存在将更方便报表等客户端对数据进行更好体验的下钻操作。

在这里Anna决定创建一个从Sector到Sub-Industry的层次关系。于是她还是在图形视图下,右键单击SP500数据模型,选择Create Hierarchy创建层次。

将层次命名为Sector and Sub-Industries之后,通过拖拽的方式将上面的Sector和Sub-Industry依次拖拽到这个层次之下,这样,一个从Sector到Sub Industry的层次结构就创建完毕了。

到目前为止,数据的准备工作完成了, Anna准备继续创建报表,同时也希望报表看上去是动态这样更吸引人,同时还希望报表支持交互,以及能够在一个平台上进行发布这样她的团队也可以分享得到并且可以在此基础上进一步去做分析。自服务式的Power BI功能体系中的Power View就可以满足她的这些需求。

总结:

在Power Pivot当中,可以通过计算成员和层次来个性化以及对数据进行扩展。Power Pivot可以完全的跟Power Query以及Power BI中的其它功能融合在一起,所以全部的操作你都可以在你熟悉的Excel中平滑地进行。Power Pivot可以使用来自Power Query中的任何数据,同时也支持加入到数据模型中的其它数据。此外,Power Pivot中定义的表,列,计算成员,层次和其它的信息,在接下来要介绍的强大报表工具Power View中都是可以使用的。

Power BI for Office 365(三)Power Pivot的更多相关文章

  1. Power BI for Office 365 概览

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

  2. Power BI for Office 365介绍

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

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

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

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

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

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

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

  6. Power BI for Office 365(二)Power Query

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

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

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

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

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

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

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

随机推荐

  1. js 用途

    嵌入动态文本于HTML页面.[4]  对浏览器事件做出响应.[4]  读写HTML元素.[4]  在数据被提交到服务器之前验证数据.[4]  检测访客的浏览器信息.[4]  控制cookies,包括创 ...

  2. 双守护进程(不死service)-5.0系统以下

    上链接: http://files.cnblogs.com/files/andlp/DaemonProcess.zip 5.0以上  参考marsDaemon

  3. python程序一直在后台运行的解决办法

    刚写了个python程序,要一直在后台运行,即使断开ssh进程也在,下面是解决办法: 假如Python程序为test.py 编写shell脚本start.sh #!/bin/bash python t ...

  4. UITableView的添加、删除、移动操作

    #pragma mark -----表视图的移动操作----- //移动的第一步也是需要将表视图的编辑状态打开 //2.指定哪些行可以进行移动 - (BOOL)tableView:(UITableVi ...

  5. 【08-23】redis学习笔记

    今天开始重拾linux,使用的是ubuntu发行版,主要是想在linux上学习redis,作为服务器端软件天然选择linux啊. 第一次使用ubuntu配置超级管理员密码: su passwd roo ...

  6. 关于学习angularJS 的 心里路程(二)

    这一次主要的学习内容是 ng-route(本次的项目由于种种原因吧,我们采用了ui-router,而不是原生的ng-route) * 配置路由. * 注意这里采用的是ui-router这个路由,而不是 ...

  7. tyvj1195 最后的晚餐

    背景 话说zhangbh001给盖子编的Windows 2012超时了(- -!),所以他不得不在自己家门口亲眼见证这个电影般的场景.虽然他不想错过这个美妙的时刻,但是他的肚子一再抗议,要求先吃完这最 ...

  8. Android高手速成--第三部分 优秀项目

    主要介绍那些Android还不错的完整项目,目前包含的项目主要依据是项目有意思或项目分层规范比较好.Linux项目地址:https://github.com/torvalds/linuxAndroid ...

  9. [MapReduce] Google三驾马车:GFS、MapReduce和Bigtable

    声明:此文转载自博客开发团队的博客,尊重原创工作.该文适合学分布式系统之前,作为背景介绍来读. 谈到分布式系统,就不得不提Google的三驾马车:Google FS[1],MapReduce[2],B ...

  10. 如何使用C自带的qsort快速排序

    / you can write to stdout for debugging purposes, e.g. // printf("this is a debug message\n&quo ...