微软Excel 2013:用PowerPivot 建立数据模型(txt+pdf+epub+mobi电子书下载)

作者:(意)法拉利(Ferrari,A.),(意)鲁索(Russo,M.)

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

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

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

原书序

Microsoft Excel是进行数据分析的世界标准,其易用性和强大功能使得Excel电子表格成为人人使用的工具,无论分析何种信息。

可以使用Excel存储个人开支数据、现有账号信息、客户信息或复杂的商业计划,甚至在难以坚持的节食期间存储你的瘦身进展。使用Excel的可能性是无限的——我们就不再列举可以用Excel分析的所有各类信息了。事实是,如果有一些待整理和分析的数据,那么Excel是可供使用的完美工具。即使只有相对有限的软件知识,你也可以轻松地以表格式的形式组织数据,更新数据,生成图表、数据透视表和基于数据的计算,并且作出预测。随着云计算的到来,现在你可以在移动设备上(诸如平板电脑和智能手机)使用Excel,也可利用互联网持续访问信息。此外,在Excel的早期版本中,每个工作表有65536的行数的限制,而事实上许多用户都要求微软增加行数(微软确实这么做了,在Excel 2007中将行数限制提高到100万行),这清晰地表明用户希望在Excel中存储和分析大量数据。

除了Excel用户以外,还有一类人在其职业生涯中致力于数据分析:商业智能(BI)专业人士。BI是从大量信息中获得的洞察力的科学,而且,近年来BI专业人士已经学习并创建了许多新的技术和工具,以管理可以处理高达数百万甚至数亿行交易记录的系统。BI系统需要很多专业人士的努力和昂贵的硬件来运行。BI系统十分强大,但也存在严重缺点:构建起来十分昂贵和耗时。

2010年以前,在少量数据分析和大量数据分析之间存在清晰的界限:一方为Excel,另一方为复杂的BI系统。现在Excel迈出了融合这两个世界的第一步,因为数据透视表工具已经能够查询BI系统。通过这么做,数据分析师可以查询大型BI系统,实现鱼和熊掌兼得,因为这样一个查询结果可以导入Excel数据透视表,因此可用于进一步的分析。

2010年,微软公司发起的一项颠覆之举打破了BI专业人员和Excel用户之间的藩篱:通过引入一个名为xVelocity的强大引擎,直接在Excel内部驱动大型BI解决方案。彼时,Microsoft SQL Server 2008 R2 PowerPivot for Excel发布,成为Excel 2010的免费插件。目标是使得创建BI解决方案变得如此容易,Excel将不仅仅能作为BI客户端启动,而且还能作为BI服务器启动,能够在笔记本电脑上托管复杂的BI解决方案。他们将其称为自助式BI。

微软PowerPivot对其可存储的行数没有限制:如果你需要处理100万行,你大可放心地这么做,且其分析速度惊人。PowerPivot还引入了DAX语言,一个旨在创建BI解决方案的强大编程语言,而不仅仅通过Excel公式。最后,PowerPivot能够高倍压缩数据,使得大量信息可存储于相对较小的工作簿中。但是,这还只是第一步。

第二个决定性的一步,是将用户级BI的力量引入到Excel 2013当中。PowerPivot不再是一个分离的Excel插件,现在成为Excel技术的一个内在组成部分,为每个Excel用户带来了xVelocity引擎的力量。自助式BI时代于2010年开启,且在2013年升级。

由于你已在阅读这篇介绍,你可能有兴趣加入到自助式BI的浪潮中,并且想要学习如何掌握PowerPivot for Excel。你将需要学习PowerPivot工具的基本知识,但是这仅仅是第一步。然后,需要学习如何组织数据以便有效地执行分析,即数据建模。最后,你将需要学习DAX语言并掌握其所有概念,以便充分利用其效力。如果这些是你想要的,那么这本书即是为你而作。

我们是BI专业人士,从经验中我们知道构建BI解决方案并不容易。

我们不想误导你:BI是激情科技,也是工程科技。本书的目的是帮助你采取必要的步骤,将你从Excel用户转变为自助式BI建模师。这将是一段漫长之旅,是需要时间和奉献精神的旅行,你会发现自己需要做出调整以学习新技术。然而,最终修成的正果是无价的。

这本书,不是一步一步指导PowerPivot for Excel 2013的书。如果你正在寻找PowerPivot傻瓜书,那么只能说这不是你的菜。但是如果你需要一本书伴随你在这漫长而令人愉悦的旅行中,从第一个简单的Excel工作簿开始,不久将很快创建复杂的模拟,那么这本书就是你的终极资源。

在写这本书时,我们决定把重点放在概念和实例上,从零开始带你掌握DAX语言。

本书不涵盖每个功能,也不用“单击A,然后B”的方式解释每个操作。相反,本书承载了大量信息,这样一旦学完本书,你在Excel新的建模选项中将有足够的背景知识。

用最后一句话来强调这本书的主要特点:它是用来学习的书,而不只是阅读。做好长途旅行的准备——但我们向你保证这将是非常值得的。注意:PowerPivot和Power View软件功能只包含在特定的Office 2013配置中。适用于所有Excel 2010版本的PowerPivot功能,仅适用于Office 2013的专业增强版、SharePoint 2013企业版、SharePoint Online 2013 Plan 2、Office365的E3或E4版本。在Excel 2013中新增的Power View功能,包含在同一版本的PowerPivot中。幸运的是,在Excel 2013所有配置中均支持Excel数据模型。然而,请注意,各类可用配置是可以改变的。

本书为谁而作

这本书面向Excel用户、项目经理和决策者,本书能满足他们学习PowerPivot for Excel 2013基础知识、掌握用于PowerPivot的新的DAX语言以及学习PowerPivot高级数据建模和编程技术的愿望。

对读者的假定

这本书假定你对Excel 2010或Excel 2013有一个基本了解。你不需要成为一个Excel高手,只是一个普通用户就好。将介绍从Excel过渡到PowerPivot需要什么,但不以任何方式涵盖Excel基础知识,例如输入公式、写VLOOKUP函数或其他基本功能。不需要PowerPivot的预备知识。如果你已经尝试过自己建立一个数据模型,那更好;但我们假设在阅读这本书之前,你从来没有打开过PowerPivot。

这本书如何组织

从头到尾读这本书。任何试图直接跳转到某个特定问题的解决方案,跳过一些内容,可能会是错误的选择,在每个章节都会介绍需要在后续章节进一步理解的概念和功能。

此外,你将需要不止一次地阅读本书的一些章节,因为其中的理论背景是很难在第一次阅读时掌握的。

全书共分为16章。

第1章“PowerPivot简介”介绍了PowerPivot for Excel 2013中的基本功能。按照一步一步的指导,我们将展示使用PowerPivot满足分析需求的主要好处。我们还展示了如何创建一份简单的Power View报告。

第2章“使用PowerPivot的独特功能”展示了只有当你启用PowerPivot for Excel后才可使用的功能。这包括计算列、计算字段、层次结构和一些其他基本特性。本章是第1章的逻辑延续和结论。

在第3章“DAX简介”中,我们开始涉猎DAX语言,包括DAX语法和最基本的函数。我们强调计算列和计算字段之间的差异,而且在最后展示了使用DAX的第一个实例。

第4章“了解数据模型”是具有理论性的一章,涵盖了数据建模基础,并展示了PowerPivot数据库中不同的建模选项。我们将介绍几个明显不属于Excel用户领域的概念,例如规范化和反规范化、SQL查询语句的结构、关系的工作原理以及重要性、数据集市和数据仓库的结构等。

第5章“发布到SharePoint”讲解发布Excel工作簿到Microsoft SharePoint的流程,以实现团队级BI。此外我们将介绍PowerPivot for SharePoint作为一个服务器端应用程序的概念,你可以使用Excel和PowerPivot来编程和扩展。

第6章“加载数据” 致力于以多种方式将数据加载到PowerPivot内部。对于每个数据源,我们展示了其工作方式,并为具体来源提供了许多提示和最佳实践。

第7章“理解计值上下文”和第8章“理解CALCULATE”是本书的理论核心。在这两章中,我们介绍了计值上下文、关系和CALCULATE函数的概念。这些都是DAX语言的支柱,你在使用PowerPivot创建高级数据模型之前需要掌握这三大支柱。

第9章“使用层次结构”展示了如何创建和管理层次结构。本章涵盖了基本的层次结构处理,如何计算层次结构的值,最后,本章展示了如何通过使用在第7章和第8章中所学到的概念来管理父/子层次结构。

第10章“使用Power View”专门介绍Excel 2013中的新的报告工具Power View。本章展示了该报告工具的主要功能,如何创建简单的Power View 报告,以及如何筛选数据并创建令人愉悦的报告供查看并提供从数据派生而来的有用见解。

第11章“构建报告”涵盖了一些有关报告的高级主题,包括关键绩效指标(KPI),如何编制KPI,以及如何使用KPI来提高报告系统的质量,本章还涵盖了PowerPivot中的Power View元数据层、钻通、Excel集或MDX集以及透视。

第12章“在DAX中执行日期计算”处理时间智能。YTD(年初至今)、QTD(季初至今)、MTD(月初至今)、工作日vs.非工作日、半累加度量、移动平均以及所有其他涉及时间的复杂计算都在本章之中。

第13章“使用高级DAX”组合了情景和解决方案,所有这一切都共享相同的背景:它们是使用Excel或任何其他任何工具难以解决的,而一旦你从本书前面章节中获得必要的知识,在DAX之中它们就比较容易管理。所有这些例子都来自现实世界的情景,都是当我们作为顾问或在网络上看论坛时处于所看到的请求列表前列的情景。

第14章“使用DAX作为查询语言”专门讲述了使用DAX作为查询语言。它涵盖了用于查询数据库时的各种DAX函数。它也展示了高级函数,如反向链接和链接回表,这些能够极大地提升PowerPivot构建复杂数据模型的能力。

第15章“使用VBA自动化操作”讨论如何以编程的方式使用Microsoft Visual Basic Application(VBA)管理PowerPivot工作簿,以自动化一些常规任务;提供了一些代码示例显示如何解决一些常见情景,这些VBA可能十分有用。

第16章“比较Excel和SQL Server分析服务”比较了3种风格的PowerPivot技术:PowerPivot for Excel、PowerPivot for SharePoint和SQL Server分析服务(SSAS)。最后一章的目标是给你一个清晰的画面:在PowerPivot for Excel中可以做什么,何时需要进一步采用PowerPivot for SharePoint,其在SSAS中有哪些仅适用于SSAS的额外功能。

关于配套内容

本书包含配套内容来充实你的学习体验。本书的配套内容可以从以下网页下载:

http://go.microsoft.com/FWLink/?Linkid=279953013

配套内容包括:

微软的Access版本AdventureWorksDW数据库,你可以用它来建立自己的例子。

本文中使用的所有Excel工作簿(也就是说,所有工作簿是用来说明书中的概念的)。注意,你需要用Excel 2013,打开工作簿。

致谢

这本书要感谢的人很多,以至于不可能列出一个完整的列表来一一感谢。所以,感谢所有对本书有贡献的朋友,甚至那些没有意识到为本书做出了贡献的朋友。博客评论、论坛帖子、电子邮件讨论、技术会议的与会者和演讲者的聊天,这些一直对我们非常有帮助,而且很多人都为本书的创作做出了重大贡献,也就是说,我们需要提及一些有特殊贡献的朋友。

首先要感谢Edward Melomed,他鼓舞了我们,没有几年前与他的那场充满激情的讨论,我们可能尚未开启我们的PowerPivot之旅。

还要感谢微软出版社、O'Reilly传媒和对本项目有贡献的人:Kenyon Brown、Christopher Hearse以及其他许多幕后工作人员。

唯一比写一本书更花费时间的工作,是必须为准备写书所做的研究。有一群人,我们(友好地)称为“SSAS业内人士”帮我们为写这本书铺平了道路。来自微软的几个人特别值得一提,因为他们花了宝贵时间教导我们有关PowerPivot和DAX函数的重要概念。他们是Marius Dumitru、Jeffrey Wang和Akshai Mirchandani。伙计们,你们的帮助是无价的!

也要感谢Amir Netz,Ashvini Sharma和T.K.Anand,他们对有关如何定位PowerPivot的讨论做出了贡献,他们帮助我们对本书做出了一些战略选择。

在互联网时代编撰成书是具有挑战性的,因为新的资料和想法层出不穷。有几个博客对本书的完成尤为重要,在这里要提到的博主是:Chris Webb、Kasper de Jonge、Rob Collie、Denny Lee和Dave Wickert。

最后,要特别提及本书的技术评审Javier Guillen。他两次检查了我们原始文本中的所有内容,寻找错误,给我们提供了关于如何提高本书质量的宝贵建议。如果这本书包含比我们的原稿更少的错误,这归功于Javier。如果仍然有错误,这当然要由我们负责。

太谢谢你们了,伙计们!

支持与反馈

以下部分提供了勘误表、电子书支持、反馈和联系人信息。

勘误表

我们已经尽力,以确保本书和配套内容的准确性。

这本书出版后的任何已报道的错误会在oreilly.com的微软出版社网站中的本书主页上列出:

http://aka.ms/Excel2013DataModelsPP/errata

如果你发现一个尚未列出的错误,可以通过上述网页报告给我们。

如果你需要额外支持,请发送电子邮件至mspinput@microsoft.com获取微软出版社的图书支持。

需要注意的是,这些地址不提供微软公司软件产品的支持。

我们希望获取你的反馈

在微软出版社,你的满意是我们的首要任务,您的反馈是我们最宝贵的资产。请告诉我们你对本书的想法。

http://www.microsoft.com/learning/booksurvey

以上网页中的调查是简短的,我们会阅读你的每个意见和想法,提前感谢你的反馈!

保持联系

让我们继续交谈下去!我们在Twitter上:

http://twitter.com/MicrosoftPress

译者序

当你拿起这本书的时候,你之前一定读过有关Excel电子表格的指导书。而这本书却如此令人耳目一新:这次Excel不再仅仅是带有数据透视表功能的电子表格工具,它从其他同类数据可视化工具中脱颖而出,华丽地转身成了真正的商务智能(BI),迎接大数据时代的到来。微软PowerPivot的威力在于:业务人员不必花费漫长的时间解释需求并等待IT人员开发报表,而是可以随心所欲地组合多来源数据以建立模型,即席地切片切块以进行数据探索和多维分析,近乎实时地在PC端生成交互式报告和仪表板来支持决策,这一切可媲美工业级的数据集市和商务智能工具。传统的分析师会发现,除了处理手头的表格数据以外,还可以唤醒沉睡中的企业数据资产,对它们加以关联整合,快速产生洞察力并创造价值,充分掌握驾驭大数据的能力。

在微软Power BI in Excel的加载项当中,PowerPivot位于最核心的地,用于抽取来自多个数据库中的数据进行整合建模。基于PowerPivot数据模型,不仅可以同传统电子表格和数据透视表/图无缝连接生成报告并利用OLAP功能随心所欲地变换为自由格式,而且还可使用DMX加载项开展数据挖掘。另外,基于PowerPivot,可以使用Power View快速直观地生成交互式图表和仪表板供展示;可以使用Power Map和Bing(必应)对包含地理位置的数据生成三维地图;并借助Power Query将不同格式的外部数据进行预处理转换,与内部数据混合在一起进行建模分析,从而充分发挥Excel PowerPivot的所有潜力。而这一切,在你的笔记本电脑中即可完成,Excel专业增强版官方售价仅几十美金,而且很多公司都已经为员工配置了Excel 2013,并推动企业级的数据治理和BI部署治理,促进自助式BI的应用并通过分析创造价值。

如今,每个公司的IT部门都将BI提到重要的日程之上,但为何PowerPivot等自助式BI也如此重要?根据Forrester的估计,企业对数据资产的利用程度尚不足10%,未来将有80%的BI内容(交互式报表、仪表板等)出自业务人员之手,企业BI投资中的一半也将投向自助式商务智能,并且未来十年广泛存在着BI和分析人才缺口。

掌握PowerPivot需要花费时间学习,这并不容易,但这一切绝对值得。想想你每周都花费大量时间在重复性的工作上,而现在Excel可以帮你自动地追加数据、合并与整合数据集、刷新图表和任意格式的报表,你将有更多时间用于分析,为企业创造更多价值。

2013年10月,IMA(美国管理会计师协会)和ACCA财会前沿学院在一份名为《数据达尔文主义:在技术变革中蓬勃发展》的深度分析报告中指出,中国乃至全球财会行业将受到十大技术趋势的显著影响。其中,“未来十年所需的十大技能”当中,“从商务智能挖掘中抽取数据工具的知识”和“支持数据建模和分析工具的使用”分别排名第一位和第二位。在其11月份的《大数据:福音还是祸源》报告中指出,未来需要新的复合型财会专业人士,能够对财务、IT和信息三大领域融会贯通。而对每一位数据分析师和管理会计师而言,熟练掌握Excel PowerPivot,无疑是迎接未来十年,驾驭数据的一张必备“驾照”。

对于企业而言,要想成为“敏捷”组织,充分利用数据这一企业最宝贵资产来创造价值,仅仅通过IT部门是不够的,及早在企业内培养起由业务主导的“自助式商务智能的社区环境”至关重要。企业应当开展数据治理和BI治理,完善数据管理制度,加强培训,并促进业务/IT间的深度交流,甚至成立“自助式商务智能委员会”来推动对来自企业内外部、各种类型数据的充分使用。

任何有Excel基础的决策者、信息工作者都应当阅读本书。PowerPivot不是数据分析发烧友的工具,而是大数据时代人人触手可及的商业智能。

决策者应当学习本书,目前商业报告的阅读习惯正发生显著变化,很快会从传统的静态报告转向直接查看的交互式的、参数化的动态报告。

CFO\COO\CIO应当学习本书,因为企业的商务智能能力中心(BICC)建设和大数据分析项目将来很大程度上需要高管层来领导,通过本书可以深刻理解商务智能中端到端的数据加工过程。

统计人员应当学习本书,通过对复杂的数据开展挖掘,从而发现其中隐含的模式和趋势。

审计师应当学习本书,改进查账方法,直接对数据库底层数据进行审计以发现异常和错误,高效地收集审计证据。

财务分析师应当学习本书,减少数据准备和报表编制所占的时间比例,而将更多精力用于分析以优化财务决策。

管理会计师应当学习本书,通过将预算数据和实际数据整合,财务数据和业务数据整合,灵活开展多维分析,发现问题产生的根本原因,帮助业务做出改进。

营销分析师应当学习本书,通过将交易数据、营销数据库中的客户人文数据、互联网中的客户行为数据、线下的地理位置数据等整合在一起,开展精准营销。

商务智能专业人士和大数据分析师应当学习本书,通过在测试环境下快速建立BI原型,对分析需求进行详细验证,从而利于进一步在生产环境下进行BI部署。

商学院学生应当学习本书,通过查阅经济数据库,通过调研开展实证研究,生成分析图表以支持论文论点,从而使论文更具说服力。

理工科学生应当学习本书,通过对在实验室所开展的大量测试和实验数据进行筛选挖掘,从而快速得出实验结论。

如今,BI内容很大程度上还是以报表的形式,由IT部门提供给业务部门来使用。据Forrester预计,未来80%的BI内容将由业务人员来创建,企业中的每个人都是“知识工作者”,既是日常经营管理分析报告的创建者,也是经营管理分析报告的使用者,相互协作,相互分享。知识工作者在使用商务智能工具方面,将和驾驶汽车、操作电脑、摄影的过程一样自然,尽享敏捷与自由。

我要感谢本书的原作者阿尔贝托·法拉利(Alberto Ferrari)和马可·鲁索(Marco Russo),他们身在意大利,却蜚声全球,在本书的翻译过程中花了宝贵时间进行解读并提供视频指导。感谢来自搜狐的魏新桥先生,他花了大量时间对第5章、第10章和第11章进行翻译,并统筹了全文的中文校对和图文排版。感谢微软中国区的资深专家王伟民先生,御数坊的刘晨先生,以及国际数据管理协会中国分会的许多成员在本书翻译过程中给出的建议。

感谢清华大学出版对本书强烈市场需求的前瞻性预判,以及许多对本书深有期待的潜在读者。

在微软公司对某些术语尚未形成官方翻译之前,翻译这本书是具有挑战性的,由于PowerPivot独特高效的数据操控方式,引入了许多传统电子表格时代不具备的术语。对于专业术语的翻译,本书同《DAMA数据管理知识体系指南》(清华大学出版社出版)的翻译风格尽可能保持一致。如果发现本书包含的词汇翻译不够精练直观,请通过微信账号“Excel商务智能PowerPivot”和邮箱pivotmodel@outlook.com与译者联系,以便译者在以后的印刷中予以修订。

我们已经尽力确保本书译文和配套内容的准确性。这本书出版后所发现的错误会在译者的www.pivotmodel.com网站上列出。除此之外,www.pivotmodel.com还提供了本书勘误、答疑、解惑和讨论的空间,以及敏捷BI、自助式BI方面的精选文章。欢迎大家结合使用过程中的实例提出问题,发表商务智能领域的经验、技巧和心得。

自助式商务智能的使用,同样也离不开企业良好的数据治理和BI部署治理,有关治理和BI治理的咨询,请通过邮箱联系:pivotmodel@outlook.com。

刘凯的微信公众号:“Excel商务智能PowerPivot”,微信号:PowerPivotModel。

魏新桥的微信公众号:powerpivot,微信号:powerpivot。刘凯美国注册管理会计师(CMA)国际信息系统审计师(CISA)国际数据管理协会(DAMA)中国分会项目主管2014年5月第1章PowerPivot简介

微软公司的PowerPivot for Excel 2013旨在提供自助式商务智能(BI),是数据分析世界的一场真正的革命,因为它给了最终用户在无须BI技术人员介入的情况,即可执行复杂数据分析的能力。

PowerPivot是一个Excel加载项(add-in,也称为外接程序),实施了一个快速强大的内存数据库,可用于:

组织数据。

检测相关的关系。

提供最快捷的方式来浏览信息。

PowerPivot的一些最受关注的特性包括:

运用数据透视表工具以关系型方式来组织表格的能力,分析师在分析之前无须将数据以Excel工作表的形式进行导入。

使你得到一个迅捷、节省空间的列式数据库,从而不受Excel工作表的局限即可处理大量数据。

DAX,一种强大的编程语言,可在关系数据库之上定义复杂的表达式。同Excel相比,它可定义令人惊叹的丰富表达式。

整合不同来源数据的能力,如数据库、Excel工作表、来自互联网的数据源,以及几乎任何类型的数据。

可对整个数据库进行复杂查询,具有令人惊讶的快速内存处理能力。

有人可能会认为PowerPivot是数据透视表的简单替代,而其他人可能使用它作为某个复杂BI解决方案的快速开发工具,还有一些人可能会认为它是一个复杂BI解决方案的真正替代品。

PowerPivot并非庞大而复杂的BI解决方案(如微软分析服务之上构建的)的替代品,但它远远不只是一个简单Excel数据透视表的替代品,它是一个伟大的工具,用于探索BI世界并实施端到端的BI解决方案。

PowerPivot填补了Excel工作表和完整BI解决方案之间的空隙,它具有一些独特的特性,使其在Excel高级用户和经验丰富的BI分析师当中都富有吸引力。本书分析了PowerPivot的所有功能,当然,和任何大项目一样,需要从头开始。本章从PowerPivot的基本特性开始简单介绍。

建议按照一步一步的指示来实践本书给出的例子,以便在自己的计算机上看到书中所示的结果。稍后在接下来的章节中将不会使用一步一步的指示了,因为我们认为本书应专注于高级主题的概念,而不是“单击‘下一步’按钮”等指示。

尽管本书是关于PowerPivot for Excel 2013的书,仍需简单回顾一下PowerPivot是如何诞生的以及如何在Excel 2010中运行的,这样可以更好地理解新功能,并了解该加载项的一些特殊性。1.1 在Excel表中使用数据透视表

自从Excel 97发布以来,用户就可使用数据透视表(PivotTable)对数据进行分析了。在PowerPivot之前,使用数据透视表是对数据进行分析的主要途径。数据透视表是一种简单方便地对你收集在Excel工作表中的大量数据进行浏览的方式。本书并未详细解释数据透视表的工作原理,这方面的内容已有许多其他出版物描述得很精彩了。然而回顾数据透视表的主要特点并同PowerPivot进行比较是很有帮助的。

假设你有一个标准的Excel表格,是对数据库进行查询后导入生成的,包含了所有要分析的数据。为了得到这些数据,你可能要求IT部门提供一些手段来访问数据库,并且需要一个特定查询来检索信息。

你的Excel工作表如图1-1所示。由于表格包含原始数据,这很难开展分析,可在名为CH01-01-Classical Excel PivotTable.xlsx的工作簿中查看该工作表。图1-1 你会看到一些示例数据,可用于创建一个新的数据透视表

现在所有可用数据都在一个电子表格中了,可以在Excel功能区的“插入”选项卡中单击“数据透视表”按钮,来插入一个数据透视表。该向导会提示使用该表格来作为数据透视表的源,将数据透视表置于何处,然后提供了如图1-2所示的标准Excel数据透视表界面。图1-2 这是Excel中标准的数据透视表的界面

例如,可以选择使用Year(年份)并将其作为列标签且将ProductCategory(产品类别)作为行标签,在计算项显示SalesAmount(销售金额)。对数值适当调整格式后,会得到一份不错的报告(如图1-3所示),显示了随着时间的推移每个类别的绩效如何。图1-3 这是用数据透视表创建报表的例子

很显然,通过相应的调整,数据按行/列的形式进行组织,可以很容易地生成各种有意义的报告,提供直观快捷的展现以便于浏览信息。

图1-3展示了一个标准的数据透视表。多年来世界各地的用户已利用该工具取得了巨大成功,根据自身需要以多种不同方式分析他们的Excel数据并生成报告。

数据透视表的最佳特性之一是其易用性。Excel对源数据表进行分析,检测数值,并提供了数据切片的能力,显示分类汇总值。当然,求和项是使用SUM函数进行聚合的,这也是最经常需要的聚合方式。如果想要一个其他聚合函数,可以选择不同的数据透视表选项。

正因其易用性,数据透视表也有一定的局限性:

数据透视表仅能分析存储于Excel工作表中单个表格的信息。如果你有包含不同信息的不同的电子表格,要关联来自这些电子表格的相关信息并不容易。

将源数据转换成适合分析的格式并不容易。前述例子中的表格是对AdventureWorks数据库运行SQL查询而抽取出来的,并做了进一步构建以便用于数据分析。建立此类查询所需的技能是有点技术含量的,这需要熟悉SQL语法和底层数据库结构,在开始分析流程之前,这通常会引起要求IT部门建立这种查询的问题。

由于每次仅能分析一个表格,通常以建立所需的查询以满足特定的分析而告终,如果出于任何原因想要执行不同的分析,那么将需要建立不同的查询。例如,对于一个查询返回“月份”级别的销售额,就不能使用相同的查询来执行“每周”级别的深入分析。要想做到这一点,需要一个新的查询。这就可能需要再次联系IT部门,如果IT部门基于所执行的工作量进行收费的话,这将使分析变得成本高昂。

当数据透视表无法满足需求时,对于中型企业,常见的是使用类似SQL Server分析服务的产品来启动一个完整的BI项目,这将产生称为OLAP多维数据集的复杂数据结构,具有相同的透视特性。OLAP多维数据集是很难建立的,但在自由地分析公司数据的复杂性方面,OLAP提供了最佳的解决方案。本书将在第4章中简要讨论OLAP多维数据集。仅从这点就足以说明OLAP是满足BI需求的明确解决方案,但它们不但昂贵,而且还需要IT部门的大量努力。1.2 在Microsoft Office 2013环境中使用PowerPivot

基于标准Excel表格的数据透视表是一个非常方便的工具。不过为了让用户能执行更复杂的数据分析,微软公司推出了一个功能,叫做“自助式BI”或者“自服务BI”。该技术的目标是允许用户构建复杂的数据结构,并使用透视表的方式对其进行分析,但不受当前数据透视表的限制。PowerPivot是微软公司主推的自助式BI工具,并且配套了Power View,在本章的后面你将学习如何使用Power View。

PowerPivot使用户在无须联系IT部门生成复杂查询的情况下即可对数据进行分析。此外它还消除了数据透视表只能分析单张表格的限制,你将可以同时查询多个表格,轻松地整合来自不同来源的信息以生成报表。使用AdventureWorks示例数据库为了提供示例,本书中将使用AdventureWorks数据库,选择AdventureWorks是因为其广为人知,并可在网络上随意使用,很容易地使用其样本数据进行复杂分析。该数据库中包含Adventure Works Cycles的信息,这是一家虚构的大型跨国公司,生产金属材质和复合材质的自行车并销往欧洲、北美和亚洲市场。可从http://www.codeplex.com/SqlServerSamples下载AdventureWorks数据库,在那里你会发现不同版本的数据库,这取决于已安装的Microsoft SQL Server版本。如果你的计算机上尚未安装SQL Server,那么可以使用上述网站的相关材料中所提供的AdventureWorks的Microsoft Access版本。此外,本书中的所有演示材料在上述网站的相关材料中也提供了Excel工作簿版本。因此即使没有访问数据库,你也将能够跟进本书中的大多数的例子。此外,对于有兴趣的读者,微软公司还提供了Excel工作簿范例数据,可用来测试PowerPivot,见http://tinyurl.com/PowerPivotSamples。即使在本书中不使用这些文件,你仍然可能有兴趣载入文件获得一些数据来执行测试。

2010年,PowerPivot for Excel 1.0作为Excel 2010的加载项发布给了用户。PowerPivot是一个功能强大的列式数据库,不能与传统的Excel表格一同工作。相反,它对存储于其专有数据库里的数据进行处理,并且可使用DAX语言或数据透视表进行查询。虽然这个信息似乎只是对PowerPivot历史的好奇,但在现实中这点是非常重要的:要使用PowerPivot,数据不应该存储于Excel表格内,而需要存储于PowerPivot数据库内。牢记这一事实,它将会派上用场的。注意:PowerPivot数据库也称为Excel数据模型。这两个术语涉及同一项技术:Excel数据模型在现实中即是PowerPivot数据,PowerPivot数据库存储于Excel工作簿之中。本书将依照具体语境来使用这两个名字,如果我们认为将Excel和PowerPivot分开来很重要,就会用PowerPivot数据库来提及它,否则我们坚持以更标准的术语称其为Excel数据模型。

一开始,PowerPivot数据库是同Microsoft Office分离的,这意味只有那些决定下载并安装该加载项的用户才能使用所有功能。

如果在未安装PowerPivot数据加载项的个人计算机中,若要打开一个包含PowerPivot的Excel工作簿,即使在Excel工作表中包含的数据是始终是可见的,也将根本无法正常工作。

在Office 2013中,PowerPivot是预装好的,只需激活即可。此外在Office 2013中,PowerPivot引擎完全集成到Excel代码中,并可在激活前就开始工作。你将在本章的后面了解到:有一些些功能立即可用,而另一些必须要手动激活。

我们要采取简单的方法来开始使用PowerPivot:创建尚未激活加载项之前的PowerPivot表格(记住,它们是不同于Excel表格的)。只要激活一些Excel高级功能进行数据分析,事情将变得顺利,例如:

Power View报告。

表格间的关系。

多于一个表格的数据透视表。1.2.1 将信息添加到Excel表格当中

让我们开始稍微复杂的分析,我们的Excel表中提供的数据集包含有关产品类别的信息。假设在AdventureWorks中,每个产品类别指配给一个销售人员,该信息并非存储于数据库中,因此无法调整原始查询来获得该信息。由于可使用Excel,可以在另一个Excel表格中填写此信息,如图1-4所示。图1-4 Excel表格SalesManager而非Category对于展示经理绩效是有用的

为了在数据透视表中使用新的信息,需要将SalesManager列带入到原始数据模型中,而且你可能已经知道,在这里VLOOKUP函数是非常重要的。用该公式在原始表格中添加一列: =VLOOKUP([@ProductCategory],SalesManagers,2)

如图1-5所示,你将得到一个包含销售经理的新的数据集。图1-5 使用VLOOKUP就能够将销售经理带入到原始表格中

使用新的数据集,数据透视表可以很容易地重新创建,添加SalesManager到这些行中。图1-6就是想要的报告的结果。图1-6 在数据透视表中现在包含了SalesManager列

这种技术工作正常,但如果现在想使用SalesManager表中的Office列来切片数据,就需要重复使用VLOOKUP把Office列置入原始表格中。在这个特定例子中并不意味着很大的工作量,让我们进入下一个新级别并学习一些Excel 2013的新功能。1.2.2 创建一个包含多个表格的数据模型

在前述例子中,如果不使用VLOOKUP来填充一个数据集,而是直接把SalesManager表添加到数据透视表,那么此时所有列都是可用的。这时你正在从一个经典的单表分析进入到更高级别的多表分析。要做到这点非常容易,在数据透视表字段列表的底部是一个“更多表格”选项(见图1-7)。图1-7 “更多表格”选项允许添加更多表格到一个单独的数据透视表报告中

如果单击“更多表格”,你会看到一个提示框,要求你确认是否要创建新的数据透视表。在如图1-8所示的提示框中,包含一些正在发生的非常有用的信息,包括它提到的一个新东西:数据模型。图1-8 尽管简单,该提示框包含了非常有用的信息

如果单击“是”按钮,Excel将创建一个新的数据透视表,其结构与当前的数据透视表相同,但是多了一个表格。在图1-9中可以看出,字段列表现在包含了两个表格。图1-9 新的数据透视表字段列表中包含两个表格

现在,从行标签中移除SalesManagers和Category,展开SalesManagers表格,添加Office到行区域中。结果令你大失所望。事实上如图1-10所示,似乎所有的办公室(在本例中是两个)具有完全相同的销售额,这显然是错误的。数据透视表似乎能检测到这种相同错误的情况,因为一个“可能需要表之间的关系”的警告出现在字段列表处。而且出现了一个“创建”按钮。图1-10 添加Office列到数据透视表显示了不正确的结果和一个关系警告

正如你想象的,建立关系是使数据透视表显示正确值的关键。但是在此之前我们先学习“关系”是什么。1.2.3 了解关系

这里有两个表格:Sales表和SalesManagers表。每笔销售涉及一种产品,该产品属于某个产品类别,每个类别都有一个销售经理,类别与其销售经理之间的关系存储在SalesManagers表中。为了将一个销售经理的名字带入到销售表,前面使用VLOOKUP在SalesManagers表中搜索类别名称,待发现类别之后抓取相关的销售经理的名字。

用更专业的术语来讲,我们可以说,Sales表和SalesManagers表之间有一种基于Category列的关系。更精确地说,“关系”的定义如下:

源表。关系始于源表。在本例中源表是Sales表,它包含ProductCategory列。

外键列。源表中的列,包含要搜索的值。在此例中外键列为ProductCategory,它是我们在VLOOKUP中作为第一个参数使用的。

相关表。该表包含要寻找的值。在本例中,相关表为SalesManagers表,表中包含产品类别和销售经理的名字,以及所在的办公室。

相关列:相关表中的列,包含应与外键列匹配的值,本例中相关列是SalesManagers表中的Category列。

把关系想象为一种自动化的VLOOKUP。事实上关系中的参数与VLOOKUP中的参数非常相似。唯一缺少的信息是待检索的列值,因为一旦关系确立,即可让你检索相关表格中的任何列,而无须指定某个列(在使用VLOOKUP的情况下,仅能从一个相关表格中的单个列中进行检索)。

有了这些新信息,单击“创建”按钮并创建关系,按照图1-11所示选择项目。图1-11 这里设定正确的参数以创建关系注意:PowerPivot for Excel 2010作为一个加载项版本,有一个可自动检测关系的引擎,在某些情况下会更加轻松容易些。不幸的是,检测算法采用的是启发式算法来检查关系的存在,在少数情况下会错误地检测关系。出于这方面的原因,在Excel 2013中不使用自动检测,而是由用户来定义关系。虽然这个特性似乎是个降级,但更受欢迎:这样在建立关系时可以始终确保安全第一,此时人类大脑是远远优于启发式算法的。

单击“确定”按钮使Excel创建关系,并更新数据透视表中的内容,现在显示正确的按办公室排列的值,如图1-12所示,其中SalesManagers表中的SalesManager列放置于数据透视表的“行标签”处。

在PowerPivot中,关系发挥了至关重要的作用,从这本书中你会学到很多有关关系的内容。现在可以认为关系是通过使用两个表格中的同一列来将两个表格绑定在一起的一种方式。如果对于某个特定的行,两列共用相同的值,那么这种关系具有匹配性,并将这两行联系在一起。

但是……等一等!我们刚才不是说过,PowerPivot中关系是很重要的吗?到现在为止,尚未使用PowerPivot,而只是简单地使用Excel功能对多个表格创建一个数据透视表。那么为何本书与PowerPivot有关?原因很简单:即使你还没有开始使用PowerPivot,Excel已经创建了一个PowerPivot数据模型,而且这个多表格型的数据透视表实际上正浏览该模型。因此,让我们来了解一下数据模型。图1-12 建立关系后,数据透视表显示了正确的结果1.3 了解数据模型

正如图1-8所示,确认窗口询问是否使用数据模型来创建一个新的数据透视表。确认窗口没有解释数据模型是什么,也不解释为何有必要通过使用数据模型来实现你想在数据透视表中显示多个表格的想法。但事实很明显,新的数据透视表将使用该数据模型。因此在进入更高阶的主题之前,更好地理解数据模型是什么显得很有意义。

Excel表格正如其名:它们是表格。在Excel工作簿中有数以百计的表格,但是各表格彼此独立。这就是为何可以创建一个单表型的数据透视表:向数据透视表中添加多个缺乏共享的表格是没有意义的。关系的存在,是将表格集转换为一个数据模型的关键。如果多个表格通过关系相连接,那么将它们一起显示到数据透视表当中是有用的,因为在筛选一个表格的同时,作为一种副作用,也筛选了其他相关表格。

本例将筛选器置于SalesManagers表的Office列时,也包含了Sales表中的筛选器。事实上,关于西雅图办公室信息的行,仅仅展示了由西雅图人员处理过的类别的值。销售表被办公室筛选的原因,是因为每个销售对于在该办公室工作的销售经理而言是相关的。这两个表格之间的关系,使这种机制行之有效。由此得到以下结论:

一组表格只是彼此独立的表格的集合。

彼此间存在关系的一组表格是一个数据模型。

Excel 2013中引入了数据模型的概念,作为供用户分析数据的工具之一。每个Excel表都属于该数据模型:只要对表格定义一个关系(无论是作为关系的源,还是作为关系的目标),就将该表格自动添加到数据模型中。

这一切似乎都不错,但这些对数据模型的描述对于PowerPivot有何意义?Excel中的数据模型实际上就是PowerPivot数据模型。当添加一个表格到数据模型中时,实际上是将表格加入到位于Excel工作簿的PowerPivot数据库中。

PowerPivot数据模型和Excel表格是两个不同的实体。如果向数据模型中添加了一个Excel表格,并非将该Excel表格转化成PowerPivot中的表格,实际上只是将在Excel表格中的数据复制到PowerPivot表格中而已。然后这两个表格(Excel表格和PowerPivot表格)链接到一起,因此如果更新原始Excel表格并刷新数据透视表,该更新就导入到数据透视表的数据模型中。但是从存储的视角而言,数据真的已经重复在两个位置中了:Excel原始表格和PowerPivot中的一个副本。

创建数据模型真的非常简单。只要Excel检测到需要创建一个数据模型来解决用户的特定需求,就会自动建模。在这种情况下,只要有必要使用多个表格来建立数据透视表,Excel就将表格转换到PowerPivot数据模型。要完成该任务,Excel创建了一个PowerPivot数据模型供使用,这样用户就不必完全理解表面之下究竟发生了什么。然而通过使用这些自动化功能你要理解:只是使用了PowerPivot真正力量中非常小的一部分。为了探索所有PowerPivot功能,需要学习如何使用PowerPivot数据模型,而不是像Excel一样单纯依靠PowerPivot引擎自动使用。1.3.1 查询数据模型

在本章的前面几节中,你了解到,通过创建表格之间的关系就可以在Excel工作簿内创建一个PowerPivot数据模型。一旦首次创建了数据模型,无须对同一个模型添加更多表格,就可以供许多数据透视表进行查询。本节讨论如何执行此操作,此操作虽然不易找到,但非常方便。

如果创建了一个新的数据透视表,Excel会显示“创建数据透视表”对话框,如图1-13所示。图1-13 “创建数据透视表”对话框

从该对话框中,不是选择一个表或区域(像你过去习惯的那样),而是应该选择“使用外部数据源”单选按钮,然后单击“选择连接”按钮。Excel在“表格”选项卡上显示了可用的外部连接,列出了Excel表和数据模型,如图1-14所示。图1-14 外部表格列表,包含工作簿数据模型,这也是一个PowerPivot数据模型

选择工作簿数据模型并确认数据透视表创建流程直到结束,就会得到新的数据透视表,该数据透视表与之前基于原始Excel表格所创建的同一数据模型相连接。1.4 PowerPivot加载项

在本章前面几节中,已学到的Excel 2013的新功能要求创建一个PowerPivot数据模型来开展工作,这个数据模型可在不启用PowerPivot加载项的情况下创建(加载项已经预装但被禁用)。一旦已经创建了数据模型,就可以使用数据透视表或者Power View来查询该数据模型(在本章的后面将介绍Power View)。另一方面,如果想查看数据模型,Excel并没有提供一种方法来分析它或简单地看其内容。为了看到数据模型,需要启用PowerPivot加载项,这正是在本节中你要学习的。

要启用PowerPivot加载项,需要打开“Excel选项”对话框并选择“加载项”,在“管理”下拉列表中选择“COM加载项”,如图1-15所示。图1-15 需要启用PowerPivot加载项来使用新的PowerPivot功能

一旦你选择了“COM加载项”,单击“转到”按钮,就会打开“COM加载项”对话框,如图1-16所示。图1-16 在“可用加载项”列表中,可以启用或禁用PowerPivot加载项

要启用PowerPivot加载项,只需选中Microsoft Office PowerPivot for Excel 2013复选框,然后单击“确定”按钮。与此同时,最好也启用Power View加载项(如果其尚未激活),这很快就会派上用场了。要做到这点,只需选择Power View复选框。Power View极大地增强用户的Excel分析体验,并且也与PowerPivot数据模型一起协同工作。

一旦PowerPivot加载项启用,你会看到一个新的名为POWERPIVOT的选项卡出现在Excel功能区上,如图1-17所示。图1-17 在启用PowerPivot加载项后,POWERPIVOT选项卡即出现在Excel功能区中

在POWERPIVOT选项卡里,你将能使用到许多激动人心的功能,本书将一一道来。现在,我们将介绍打开后的PowerPivot窗口,并快速踏上你刚刚创建的数据模型之旅。要打开PowerPivot窗口,需要单击功能区上的“管理”按钮,打开PowerPivot主窗口,如图1-18所示。图1-18 PowerPivot窗口是使用PowerPivot高阶功能的主窗口

PowerPivot窗口打开时默认为数据视图,显示存在于模型中的PowerPivot表格的内容。你可逐行浏览,并且可以在窗口底部看到已载入到数据模型中的表格选项卡。目前不必探索该窗口的所有功能。要使用该窗口,只需要简单地介绍一下数据模型。为了查看数据模型,需要点击功能区上的“关系图视图”按钮。

将PowerPivot窗口从数据视图转换到关系图视图非常方便,由此可得到可视化的数据模型,与数据视图关注表格中的内容不同的是,关系图视图展示出了关系的结构,使其更易于以图形方式来表示关系,如图1-19所示。图1-19 关系图视图可让你专注于数据模型的关系结构

关系图视图是个典型的“方框+箭头”的关系型模型展示,存储于数据模型之中。每个表格由一个方框表示,而且如果两个表格通过关系链接起来,就会有一个从源表到目标表的箭头。如果单击关系(即箭头),就突出显示与该关系相链接的列。

贯穿本书,你都将学习如何使用该窗口的许多功能,目前可以简单地关闭该窗口。从第3章开始,会开始使用关系图视图来调整数据模型。此刻,我们更感兴趣的是展示启用了PowerPivot的Excel 2013的主要特点,而非详细地描述它们。1.5 使用OLAP工具并转换为公式

Excel中的一个新功能是OLAP工具,该功能仅对数据模型可用,而对单表数据透视表不可用。这组功能最初是那些建立在OLAP数据库之上(由此而得名)的数据透视表才可用的,但是由于数据模型本质上就是一个PowerPivot数据库,这些功能现在在数据模型中也可使用了。

数据透视表是用于探索数据的利器。然而,作为生成复杂报告的第一步,往往是从数据透视表中收集数据,执行计算并格式化,并以紧凑型报告的方式提供最终结果,有时称之为仪表板。粗略地说,仪表板只是包含几条信息的一份报告(每条信息都来自对数据库的查询),从而形成对公司状况的紧凑展示。

假设要生成一个包含过去3年销售总额、销售增长百分比以及互联网及经销商销售占比的报告,其中包含按区域划分的信息,由此可以发现哪些地区需要特别关注。图1-20显示了该报告的最终形式,可在CH01-02-Dashboard.xlsx工作簿中找到。图1-20 这里可以看到使用数据透视表创建的一个简单的仪表板

试读结束[说明:试读内容隐藏了图片]

下载完整电子书

若在网站上没有找合适的书籍,可联系网站客服获取,各类电子版图书资料皆有。

客服微信:xzh432

登入/注册
卧槽~你还有脸回来
没有账号? 忘记密码?