`
thecloud
  • 浏览: 905785 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

数据透视表是一个很灵活的工具,通过这个工具用户可以很容易的生成自己需要的报表。无论是对于专业的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团队在后面做很大的支持的。

分享到:
评论

相关推荐

    微软Excel 2013:用PowerPivot 建立数据模型

    相反,《微软Excel 2013:用PowerPivot 建立数据模型》承载了大量信息,这样一旦学完《微软Excel 2013:用PowerPivot 建立数据模型》 你在Excel新的建模选项中将有足够的背景知识。用最后一句话来强调这本书的主要...

    Excel Power Pivot数据建模分析(进阶篇)资料.zip

    Power Pivot结合Excel的预测函数,可以建立模型预测销售、库存等关键指标,为战略规划提供依据。 4. **RFY分析(剩余财年分析)**:RFY分析是评估当前财年剩余时间内的预期业绩。通过分析剩余财年的销售额、订单等...

    PowerPivot 入门手册_giantu54_PowerPivot_

    - PowerPivot支持创建关系模型,通过建立表之间的关系,实现数据的关联分析。 - 用户可以创建度量值(也称为度量或KPIs),利用DAX(Data Analysis Expressions)公式进行计算,提供定制的汇总和业务洞察。 4. **...

    Microsoft Excel 2013 Building Data Models with PowerPivot示例文件

    在这一章,用户将学习如何在PowerPivot中构建关系数据库模型,通过建立数据表间的关联来增强分析能力。此外,还会介绍DAX(Data Analysis Expressions)语言的基础,这是创建自定义计算和度量的关键,使得用户能够...

    power pivot and power BI

    通过Power Pivot,用户可以创建复杂的数据模型、计算列和度量值,并进行高级数据分析。 - **Power BI**:是一款商业分析服务,由Microsoft提供,旨在帮助用户可视化数据并从中获得宝贵的见解。Power BI支持多种数据...

    创建PowerPivot工作簿

    通过以上详述,我们可以看到,PowerPivot for Excel 不仅是一个数据管理工具,更是一个强大的数据分析平台,它极大地扩展了Excel在大数据处理和复杂分析方面的能力,使用户能够在无需专业IT支持的情况下,独立完成从...

    Practical PowerPivot & DAX Formulas for Excel 2010

    本书标题明确了其主要内容是关于如何在Microsoft Excel 2010环境中有效使用PowerPivot插件及其配套的数据分析表达式(Data Analysis Expressions,简称DAX)。 **PowerPivot** 是一个为Excel提供的附加组件,允许...

    Microsoft_Excel_2013__Building_Data_Models_with_PowerPivot示例文件1-5章

    《Microsoft Excel 2013 Building Data Models with PowerPivot》是Excel高级用户和数据分析人员的一本重要参考资料,尤其在处理大量数据时,PowerPivot的功能显得尤为强大。本示例文件包含了第1至5章的实践案例,...

    Microsoft Excel 2013 Building Data Models with PowerPivot示例文件(11-12)

    《Microsoft Excel 2013 Building Data Models with PowerPivot》是关于利用Excel 2013中的PowerPivot功能构建数据模型的实战教程。在本教程中,我们将深入探讨如何利用这一强大的数据分析工具,提升数据处理和分析...

    Analyzing Data with Power BI and Power Pivot for Excel

    该书详细介绍了如何使用Power BI和Power Pivot for Excel工具来构建和分析数据模型,以支持企业进行数据驱动的决策。 首先,我们来理解书中的核心概念——数据建模。数据建模是数据管理和分析的基础,它是指根据...

    Microsoft_Excel_2013__Building_Data_Models_with_PowerPivot(EPUB电子书)

    《Microsoft Excel 2013 Building Data Models with PowerPivot》是微软官方发布的一本专门讲解如何使用Power Pivot构建数据模型的教程。这本书对于Excel 2013用户,特别是那些需要处理大量数据并进行复杂分析的专业...

    Power Pivot商业智能数据分析(第1季 基础篇)

    - **案例研究**:通过实际业务场景,学习如何构建有效的数据分析模型,解决特定问题。 - **模拟决策**:运用Power Pivot进行假设性分析,辅助业务决策。 8. **系统和网络运维中的应用** - **监控和报告**:在IT...

    PowerBI零售行业通用业务模型

    本课程聚焦于“PowerBI零售行业通用业务模型”,旨在传授如何构建和应用适合零售业的数据分析模型。 首先,我们来看看“Power Excel”。Power Excel 是 Microsoft Excel 的增强版,集成了 Power Query(获取和转换...

    如何在Power BI Desktop建模中使用DAX时间智能函数

    在Excel的PowerPivot和Analysis Services Tabular中建立数据模型时,可以通过将与事实(数据)表建立关系的日期表标记为日期表,使得时间智能函数能够正常运行。这一过程会指示系统唯一标识符列必须是日期数据类型,...

    AdventureWorks DW 2012数据库

    通过"AdventureWorks DW 2012"数据库和PowerPivot的结合,学习者可以深入了解如何在Excel环境中建立高效的数据模型,这对于企业数据分析、决策支持和报表制作至关重要。这个示例提供了实际操作的经验,有助于提升...

    excel2016怎么做数据分析

    - **数据模型**:PowerPivot的核心是数据模型,它允许用户在一个中心位置管理多个表之间的关系,并在此基础上构建复杂的数据分析模型。 #### 三、具体步骤详解 **1. 建立基础数据表** - **编码表**:包括SKU号...

    PowerBI数据分析与可视化-DAX语言数据处理(52页 PPT).pptx

    - **数据模型创建**: 用户可以利用Power Pivot创建复杂的数据模型,并建立数据表之间的关系。 - **计算功能**: 支持多种计算,包括计算列和度量值等。 - **DAX语言**: 使用DAX语言来进行数据建模和计算。 #### 二、...

    Powerbi从入门到精通案例

    此外,还会讲解如何使用Power Pivot来扩展数据模型的处理能力,以应对大数据量的挑战。 在数据建模的基础上,第十一章和第十五章专门讨论了数据可视化。PowerBI提供了丰富的图表类型,包括柱状图、折线图、散点图、...

    Power BI数据分析教程和具体应用案例

    数据建模是构建Power BI报告的基础,通过创建关系、设置度量值和层次结构,我们可以建立一个易于理解的数据模型。在教程中,你会学习如何利用Power BI的数据建模工具,例如关系图视图,来优化数据模型并提升查询性能...

Global site tag (gtag.js) - Google Analytics