使用PowerPivot建立简单的分析模型

标签: powerpivot 分析 模型 | 发表时间:2013-03-10 02:49 | 作者:哥本哈士奇(aspnetx)
出处:http://www.cnblogs.com/

数据透视表是一个很灵活的工具,通过这个工具用户可以很容易的生成自己需要的报表。无论是对于专业的IT用户还是业务部门的用户,他们都很熟悉Excel这个工具,并且对于PowerPivot的使用方法也相当的"炉火纯青"。

传统透视表的数据来源可以是Excel工作表,也可以是分析服务中的多维数据集这两种主要的方式。相对前者由于数据是存储在Excel的工作表中,所以业务操作人员很容易上手,很适合小规模的数据统计分析。后者分析服务的多维数据集这种方式,由于数据是以一种特殊的方式聚合在独特的文件系统中,所以适合大规模的数据量分析,缺点是分析服务的开发对于IT的要求比较高,只能由IT人员完成,所以业务人员的一个需求往往会等待很长的时间才会得到响应。

那么,业务操作人员是否可以有一种高性能的去分析稍微大一点的规模的数据呢?PowerPivot就是微软提供的一个方案。在这个方案中,数据直接加载到内存当中,并且经过一定的优化,保证了通过透视表的统计有一个很高的性能。

 

 

首先,在Excel 2013之前的版本中,这个工具是需要单独下载的。如果你没有Office 2013,那么我建议你的版本不要低于2010,在这个版本之中PowerPivot的版本得以演化。

下载地址:

http://www.microsoft.com/en-us/download/details.aspx?id=29074

下载需要留意Excel对应的语言版本还有是32位版还是64位版。

还有需要注意的一个地方是,这个是PovitTable是针对 Excel 2010的第二个版本,之前还有一个版本,在微软目前的教程以及本文的介绍中缺失了部分功能。所以如果你已经先前安装了PowerPivot,请务必确认这个版本是否正确。

安装完毕后,打开Excel后,可以看到Ribbon菜单中多了一项:

使用这个工具前,需要先准备数据。你可以直接使用在 Excel工作表里面的数据,也可以使用SQLServer等其它数据源的数据。

这里假定一个销售部门的数据,已经在IT部门的数据仓库中存在了,而销售分析人员,只需要把相关的数据导入到PowerPivot中,然后通过简单的设置就可以生成自己的分析模型了。

在PowerPivot选项卡中单击PowerPoint Window,会打开PowerPivot工具:

假定IT部门已经授予了销售分析部门的数据仓库系统部分响应表的访问权限,那么这里分析人员需要做的就是把相应的表导入到PivotTable工具中。

点击上图工具栏中的From Database:

选择From SQL Server。从这里可以看到,PowerPivot支持的数据源很多,还有Access和SSAS等。

在弹出的表导入工具中,输入数据仓库所在的服务器名称和数据仓库的名称。

这里我们使用微软的示例数据库Adventure Works来做演示,关于如何获取和部署这些示例,可以参考我的 这篇随笔

设置好连接信息后,点击Next。

接下来的界面会指定如何导入数据,是通过选取表或者视图的方式,还是一个查询的方式。这里选择第一个,点Next。

在数据仓库下的所有表被列了出来。在这个界面中,可以通过Friendly Name来指定一个友好名称,然后通过Filter Details指定需要表里的哪些列。

这里假定销售人员要做Internet Sales分析,在列表里直接找到FactInternetSales表:

这张表是分析用的事实表,然后需要指定相关的维度表。

在PowerPivot有一个很赞的功能就是Selected Related Tables,选择相关表。假如在数据仓库中已经定义好了主外键关系(现在似乎很少有人愿意这么做,但我觉得定义好还是一个不错的习惯),那么在这里面会直接检测到,并且自动勾选上那些维表。点击这个按钮后,可以发现很多Dim开头的维表已经都被选中了。

实际的操作中,还是建议这里给每一个表都指定一个Friendly Name,并且做适应的Filter。但这里为了演示方便直接点Finish开始导入数据。

工具开始把数据仓库里的数据加载到PowerPivot中。完成后点击Close关闭这个界面。

然后就可以看到被导入进来的表。

在实际环境中,数据仓库里额数据是每天都在发生变化的,那么如何保持PowerPivot里的数据跟数据仓库的数据保持同步呢?

如图单击Refresh All,PowerPivot就会根据先前的连接设置重新加载这些数据。

导入完毕后,把界面切换到Diagram模式:

界面会从数据视图切换到Diagram模式(顺便说一下,Excel 的第一个PowerPivot版是没有这个Diagram功能的,这也就是为什么前边提到一定要确定是第二版):

在这个关系视图里继承了数据仓库中定义的主外键结构(熟悉SSAS的同学可以把这里理解为数据源视图的定义)。

假如实际环境中,数据仓库没有定义这部分内容,就需要自己来指定表之间的关系(这个过程对于开发SSAS的朋友来说,更像是在指定"维度用法")。而方法很简单,假如我要建立FactInternetSales表中ProductKey和DimProduct中的ProductKey列的主外键关系,只需拖拽FactInternetSales表中的ProductKey字段到DimProduct表中的ProductKey字段就可以了。

接下来指定一个层次结构。建立层次结构的好处在于,可以方便在后续的透视表操作中,方便维度属性的导航,比如对于区域维度的,从大洲到国家到省再到市,或者一个时间维度的从年到半年再到季度然后月份和天的导航。这里我们在DimDate表中定义一个年月日的层次结构导航关系。

右键DimDate表,选择Create Hierarchy:

然后,可以看到在表的后面加入了一个新"列"。

重命名这个Hierarchy的名称为DateHierarchy。

然后,一次拖拽表中的如下列到这个新建的层次中:

CalendarYear

EnglishMonthName

DayNumberOfMonth

为了显示的友好性,右键层次中的CalendarYear,选择Rename将其重命名为Year,然后依次命名其它层次为Month和Day。

基本的分析模型建立完毕之后,就可以在透视表中浏览这些数据了。

如图,在PivotTable界面中Home标签点击PivotTable然后选择其下的PivotTable。

系统会提示问透视表在新建一个工作表中还是在现有工作表的一个区域,这里选择新建。

然后,可以看到熟悉的透视表,并且这个透视表自动连接到了PowerPivot里的数据。

实际上这种模式中还有一个PowerPivot Filed List,点击上图中的Filed List:

可以看到PowerPivot的Filed List要比传统的透视表Filed List多了两个切片器。通过它们可以更明了的进行数据切片分析。

比如,要分析销售出去的产品中,各个颜色的数据以分析用户对于颜色的偏好:

拖拽DimProduct的Color到Slicers Vertial,DimDate的DateHierarchy到Row Labels,FactInternetSales的Sum of SalesAmount到Values。

图中可以看到Color切片器,通过这个切片器里不同颜色的选择,可以在透视表中依次看到不同颜色的产品分别的销售额是多少。通过这种切片分析的方法,比透视表中的Report Filter会更直观一些。

并且可以看到,由于刚才对DimDate建立了一个层次,所以在透视表中使用它的时候,时间变成了可以展开的模式。

 

 

以上,一个简单的分析模型创建完毕,接下来的分析操作跟传统的透视表操作是一样的了,这里不做详细介绍。

如本文开头所描述,跟传统的透视表相比,PowerPivot是把数据加载到内存中的,从任务管理器中我们可以看到Excel此时的内存消耗:

正因为数据是被加载到了内存,所以可以保证在数据量很多的情况下,通过透视表也可以进行快速的分析。但是,PowerPivot对数据两还是有一定的要求的,参考PowerPivot容量规范:

http://technet.microsoft.com/zh-cn/library/gg413465.aspx

里面有如下描述:

也就是说,PowerPivot能应付差不多20亿条的数据,但还是需要留意这个还要取决于你机器的内存大小。所以,对于中等规模的数据分析,PowerPivot还是很合适不过的,而对于更大一点规模额数据,自然用PowerPivot去连接分析服务数据库是最合适不过的了。具体采用哪一种方案,还需要根据这些方案不同的特点具体情况具体分析。

 

 

BTW:

PowerPivot跟SQL Server 2012 SSAS的Tabular Model很像,它们都是把数据加载到内存中做统计分析。这两个方案,我个人觉得,首先,它们都不是面向IT人员的,都是面向业务分析人员的。前者操作相对容易些,全部在Excel环境里完成,后者稍微复杂些,需要在Visual Studio的一个Shell中完成,而且需要Tabular Model的特殊的分析服务实例做支持,不过它支持的数据量会更大一些。有了这些工具,确实可以满足业务分析人员的自服务式的分析需求。但在这样的一个运作模型中,我认为IT的工作还是很重要的,除了给相应的用户授权之外,还需要组织和维护数据仓库,而从业务系统到数据仓库的过程,基本就占了一个BI项目的大半内容。所以即使PowerPivot的操作是十分方便的,那也是需要IT团队在后面做很大的支持的。

本文链接

相关 [powerpivot 分析 模型] 推荐:

使用PowerPivot建立简单的分析模型

- - 博客园_首页
数据透视表是一个很灵活的工具,通过这个工具用户可以很容易的生成自己需要的报表. 无论是对于专业的IT用户还是业务部门的用户,他们都很熟悉Excel这个工具,并且对于PowerPivot的使用方法也相当的"炉火纯青". 传统透视表的数据来源可以是Excel工作表,也可以是分析服务中的多维数据集这两种主要的方式.

支付风控模型分析

- - IT瘾-bigdata
接上一篇 支付风控数据仓库建设. 支付风控涉及到多方面的内容,包括反洗钱、反欺诈、客户风险等级分类管理等. 其中最核心的功能在于对实时交易进行风险评估,或者说是欺诈检测. 如果这个交易的风险太高,则会执行拦截. 由于反欺诈检测是在交易时实时进行的,在要求不能误拦截的同时,还有用户体验上的要求,即不能占用太多时间,一般要求风控操作必须控制在100ms以内,对于交易量大的业务,10ms甚至更低的性能要求都是必须的.

互联网产品成长分析模型

- - 所有文章 - UCD大社区
当下,具有哪些特征的产品更可能在未来获得更高的价值. 对此我有一个非常简单的判断模型,我从2011年年中开始用这个模型来判断各种新出现的互联网产品,一直用得很顺手,命中率较高. 一、碎片(Fragments). 这个产品中的主要内容,一定是碎片化的,而且碎片是同构的. 比如Twitter把“一切事物”碎片为140个字、新浪微博把“一切事物”碎片为140个字+一张图、Pinterest把“所有美好的事物“碎片为一张图+一小段描述+一个URL、蘑菇街把“所有美好的女性商品”碎片为一张图+一小段描述+一个商品购买地址(包括线上和线下).

Cassandra数据模型设计案例分析-转载

- - 人月神话的BLOG
原文:http://www.lamfire.com/?p=313. 近来 Cassandra 备受瞩目,很多人正在评估是否可以应用 Cassandra. 由于这些人更多的追求速度,相应的,我们的文档就过于粗浅了. 这些文章中,最差的是为有关系数据库基础的人解释Cassandra数据模型的那些. Cassandra 数据模型实际和传统的数据库差异非常大,足够让人眩晕,而且很多误解都需要修正.

终端促销必知的分析总结模型(Z)

- - 小蚊子乐园
终端促销已成为一种常态,各类型企业在终端也几乎使出了浑身解数,一档促销活动结束后,促销活动有没有达到预期的效果、投入产出比如何、促销活动执行的过程中有哪些不足,这需要认真考虑与研究:.   一档促销活动的开展一定有该档促销活动想要达到的目的. 因此,促销活动结束后我们首先要分析的是该档促销活动是否达到了预期的促销目的.

基于AARRR模型进行App体系化的数据分析

- - 标点符
迄今为止,大多数公司只关注三件事:流量、用户、收入. 他们关注的是通过大批流量的入口,招来大批用户,然后再带来大量收入,或者换言之,这是一种“流量经济”. 但现在,如上面所述人群差异化越来越明显,导致以前的这种方式,会越来越低效,出现了越来越多的无用投放,以致于最后出现这样一种现象:通过流量交换,或者一些渠道与CP其实已经影响了很多用户,但最终留存下来的用户却很少.

简述常用的用户行为分析模型

- - 人人都是产品经理
​在产品的设计与运营过程中,通过数据对用户行为进行分析,我们可以总结分析出用户行为与产品之间的关联,并针对性地对产品做出改进. 在数据分析的大框架下,通过对用户行为监测获得的数据进行分析研究的行为归结于用户行为分析. 用户行为分析可以让产品更加详细、清楚地了解用户的行为习惯,从而找出网站、app、推广渠道等产品存在的问题,有助于产品发掘高转化率页面,让产品的营销更加精准、有效,提高业务转化率.

这是我见过最好的用户增长分析模型

- - 运营派
数据分析师在进行数据驱动增长分析时,不但要用AARRR呈现增长结果,更要量化展现增长决策的全过程,从而发现更深层的问题. 这篇文章通过围绕六个模块深入整个分析模型,数据分析师们快来学习学习吧. 数据驱动增长,是很多公司对数据分析师的要求,可具体到操作上,大家就开始纠结了. 虽然增长黑客上白纸黑字写了AARRR五个大字,可真到分析的时候,就总被吐槽:.

运营支撑系统(BSS)在面向物联网IoT业务场景的模型简要分析和设计

- - 企业架构 - ITeye博客
BSS运营支撑系统(主要指电信运营商),通常都是为了支撑个人客户的业务运营. 虽然在业务运营上也面向集团客户,但是总体上来说,业务的特性总结归纳为2C的业务场景. 而当前运营商在面向物联网的业务运营下,主要是以2B的业务场景. 运营商实际并不会直接面向最终的客户,而是通过其他业务的运营企业的合作或者买卖关系提供,即是一种B2B2C的场景.

模型制作

- 小鱼儿 - 非正常人类研究中心 – Mtime时光网
1.材料:一大袋的一次性筷子(花了60块钱);5支502胶水;5张粗砂纸;记号笔一只;锋利的美工刀片若干,破剪刀一把. 就是这种屌毛筷子,质量也太他妈的差了点,80%都是弯的 . 随便提一下:我的脚丫子还是蛮性感滴 . 开始动工了!!  先做门框跟房子的底架. 3.不好意思,忘了交代一下了,我是先画图纸的,看到那张纸了没有.