前言
在日常的工作与生活中,Excel因灵活、高效、易获取而拥有庞大的用户群,并成为众多数据分析师的首选。然而,随着越来越多的企业开始拥抱数据化,几百万行乃至上千万行的数据需要重复机械地处理且需对结果进行实时与直观的呈现,这一切已变为常有之事。幸好微软前瞻性地推出了Excel BI(内置于Excel,含Power Query、Power Pivot等4个套件)及Power BI(一款在Excel BI基础上快速迭代、独立的数据智能化产品),让这一切轻松地变为可能。在BI(商业智能)领域,微软再次成为领跑者。

本书重点介绍的是内置于Excel及Power BI中的Power Query组件及其M脚本语言。Power Query的主要优势在于: 在“查询编辑器”中,通过简单的图形化界面操作,即使没有任何编程基础甚至没有Excel函数操作基础的读者,利用一周的时间稍加学习,也完全可以通过简单的单击或拖曳动作,完成原本需要一系列烦琐的VBA编程才能完成的工作,而且每个简单的单击或拖曳动作都被记录在Power Query的“应用的步骤”中。当数据源发生变化或更新时,只须单击“刷新”按钮,所有关联数据便可全部随之刷新,轻松实现了Excel报表的自动化、智能化、快捷化。

当然,Power Query也存在一个尴尬的事实: 任何Excel零基础学者都有办法在一周内熟练地掌握Power Query的图形化操作界面,但大多数学习者无法在半年内有效地窥探到Power Query的数据结构、数据类型与数据转换,无法将Power Query更为彪悍的数据清洗与转换功能发挥到极致。这是因为纷繁复杂的类别、数量繁多的函数、难于理解的报错提示、生涩的官方语法说明等一些常见原因让初学者望而止步。

此外,Power Query中没有for与while循环语句,但它可以通过List.Transform()、List.TransformMany()、List.Accumulate()、List.Generate()等函数进行循环操作。这几个函数的功能十分强大却也十分晦涩且难以理解,属于M语言函数中的高阶函数; 众多的M函数语言使使用者也因其难于理解而止步于此。另外,由于Power Query的函数仍在不断新增中,这无形中又增加了学习的难度,以致众多的Power Query学习者止步于Power Query的图形化界面,这是一个不争的事实。

本书要探索的重点是,如何利用最简单的办法,让读者在一个月之内轻松、系统、全面地掌握Power Query M语言。

本书以M语言中高频使用的函数为依托,通过一组简单、易于理解的数据源并且方便读者动手实践的方式,进行循序渐进地讲解,以此来演绎几百个实用案例,从而有效地实现本书的写作目标: “让所有的读者一个月内对M语言函数有一个直观、清晰的了解,并能轻松上手”。
本书主要内容

全书共分为五篇: 第一篇为入门篇(第1章和第2章),第二篇为基础篇(第3~5章),第三篇为强化篇(第6~8章),第四篇为进阶篇(第9~11章), 第五篇为案例篇(第12章)。全书主要内容包括Power BI简介、Power Query基础、M语言基础、文本处理、时间智能、数据转换、数据处理、数据分组、数据获取、综合应用等。

本书配套的几百个案例的返回值均没有加载到工作表,所有的案例返回值均采用“仅创建链接”的方式。读者可以在Excel或Power BI通过单击“数据”→“显示查询”,在显式的“工作簿查询”中双击对应的查询,进入“Power Query编辑器”,然后通过“主页”→“高级编辑器”获取各查询的完整代码。

本书适用于零基础或有一定Power Query M语言基础的读者,包括财务、人事行政、电商客服、质量统计等与数据分析密切相关的从业人员,也可作为高等院校、IT培训机构或编程爱好者的参考用书。
本书源代码
扫描下方二维码,可获取本书源代码: 


本书源代码

致谢
首先要深深地感谢清华大学出版社赵佳霓编辑从策划到落地过程中的全面指导,她细致、专业的指导让笔者受益良多。本书是笔者在完成《Pandas通关实战》之后一气呵成的,这中间的勇气与灵感来源于对《Pandas通关实战》创作过程中所积累的写作经验及本书创作过程中赵老师的及时点评。
还要感谢笔者的妻子。本书是笔者利用业余时间完成的,写作的过程中占据了大量的个人时间及家庭时间,她的理解与支持是笔者最大的动力。
感谢笔者的父母,是你们的谆谆教诲才使笔者一步一个脚印地走到今天。
由于时间仓促,书稿虽然经笔者全面检查,但恐疏漏之处在所难免,敬请读者批评指正,你们的反馈是笔者进步的动力。

黄福星2022年4月