Power BI for Office 365(三)Power Pivot
在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中都是可以使用的。