图书前言

原书序

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月