1. 广泛性:Power Query领域的经典之作“猴子书”,让你用更聪明的方法处理数据。
Excel用户可以仅仅通过学习Power Query配合Excel公式来完成导入数据、清理数据和转换数据,为后续分析数据做好准备,整个过程几乎零代码。
2. 平衡性:两位作者几乎完全互补,是 IT 和业务的完美组合。
本书并非简单粗暴的截图或单击流罗列,也不是枯燥的IT技术名词堆砌或公式排列。在本书中,可以大量感受到作者如何照顾业务伙伴的操作想法以及步步手把手的操作体验。同时,还有清晰、专业的 IT 解释辅助,这让从“小白”、业务用户到 IT 用户都能从中获益。这种平衡很难做到,而作者无疑做出了完美示范。业务伙伴读着不难,IT 用户读着“有干货”。
3. 系统性:给出了所需的抽象思维框架和系统化框架思考。
本书并非停留在介绍某种效果如何实现的简单表述,所谓“万变不离其宗”,在本书中,作者给出了高屋建瓴的系统化思考框架。例如,第2章就直接给出了查询的架构拆分设计思维,让人读之有种成为数据架构师的成就感,并迫不及待想将这些思路赶快“优化”到自己的工作中。
4. 实用性:给出了可以直接解决各种问题的解决方案模板。
本书并非简单功能大全或凸显神奇技巧,作者汇集了来自企业实战中的各种精华案例,例如日期表的构建(包括多种版本,如财务日期表),甚至目标的分摊。对照本书,所有内容都配有 Excel 或 Power BI 的实现案例,读者可以根据图书指引下载后直接使用。
第0 章 导言:一场新的革命 1
0.1 数据分析师的常见场景 1
0.2 “魔法”的好处和危险 2
0.3 未来的改变 3
0.4 为什么说Power Query 有“魔力” 5
0.4.1 提取 5
0.4.2 转换 5
0.4.3 加载 6
0.5 Power Query 和产品体验的整合 7
0.5.1 Power Query 的组件 7
0.5.2 产品体验的整合 8
0.6 Power Query 的更新周期 8
0.6.1 Power Query 在线版 9
0.6.2 Microsoft 365 9
0.6.3 Excel 2016/2019/2021 9
0.6.4 Excel 2010 & 2013 9
0.6.5 Power BI 桌面版 10
0.7 如何使用本书 10
0.7.1 Microsoft 365 Excel 10
0.7.2 Power BI 桌面版 11
0.7.3 以前的Excel版本 11
0.7.4 单击“获取数据”按钮 11
0.7.5 特殊元素 12
第 1 章 基础知识 13
1.1 开始之前 13
1.1.1 调整Excel默认设置 13
1.1.2 调整Power BI 桌面版默认设置 14
1.2 提取 14
1.2.1 选择数据 14
1.2.2 身份验证 15
1.2.3 预览窗口 15
1.2.4 查询处理 16
1.3 转换 17
1.3.1 编辑器 17
1.3.2 默认转换 18
1.3.3 源 18
1.3.4 将第 一行用作标题 19
1.3.5 更改的类型 19
1.3.6 调整和修改转换 20
1.4 加载 22
1.4.1 设置数据类型 22
1.4.2 重命名查询 23
1.4.3 在Excel中加载查询 24
1.4.4 在Power BI 中加载查询 24
1.5 刷新查询 25
1.6 编辑查询 26
1.6.1 在Power BI 中启动查询编辑器 26
1.6.2 在Excel中启动查询编辑器 27
1.6.3 检查步骤 27
1.6.4 重新配置步骤 27
1.7 Power Query 的价值 29
第 2 章 查询结构设计 31
2.1 使用多查询体系结构 31
2.1.1 对ETL进行分层 31
2.1.2 单个查询的好处 31
2.1.3 拆分查询的好处 32
2.1.4 关于“暂存”查询的 性能 32
2.2 查询的引用 34
2.2.1 创建基础查询 34
2.2.2 创建查询的引用 34
2.2.3 查询依赖关系树的可视化 37
2.2.4 使用Monkey工具查看依赖关系 38
2.3 选择查询加载目的地 38
2.3.1 在Power BI 中选择加载目的地 38
2.3.2 在Excel中选择加载目的地 39
2.3.3 更改加载目的地 41
2.4 保持查询的条理性 43
2.4.1 查询文件夹 43
2.4.2 将查询分配到文件夹 44
2.4.3 排列查询和文件夹 44
2.4.4 查询子文件夹 45
2.5 拆分现有查询 45
2.6 关于查询体系结构的最后思考 47
第3 章 数据类型与错误 49
3.1 数据类型与格式 49
3.1.1 数据格式 49
3.1.2 数据类型 49
3.1.3 如何设置数据格式 52
3.1.4 设置数据类型的顺序 53
3.1.5 数据类型的重要性 54
3.2 常见的错误类型 55
3.3 步骤级错误 56
3.3.1 数据源错误 56
3.3.2 没有找到某列 58
3.4 值错误 59
3.4.1 发现错误 60
3.4.2 无效的数据类型转换 61
3.4.3 不兼容的数据类型 63
3.5 检查查询错误 64
3.5.1 发现错误的来源 64
3.5.2 修复最初查询 65
3.5.3 删除错误查询 66
3.6 关于数据类型与错误的最后思考 66
第4 章 在Excel和Power BI间迁移查询 67
4.1 在工具之间迁移查询 67
4.1.1 Excel到Excel 68
4.1.2 Excel到Power BI 70
4.1.3 Power BI 到Excel 71
4.1.4 Power BI 到Power BI 71
4.2 导入查询 72
4.2.1 仅外部数据源 72
4.2.2 数据模型的导入 74
4.2.3 导入时复制数据 75
4.2.4 导入时保持连接 80
4.3 在工具之间迁移查询的思考 82
第5 章 从平面文件导入数据 84
5.1 了解系统如何导入数据 84
5.1.1 设置系统默认值 84
5.1.2 程序如何解析平面数据 85
5.2 导入带分隔符的文件 87
5.2.1 源数据文件 87
5.2.2 提取数据 88
5.2.3 错误的解析 88
5.2.4 使用区域设置 89
5.3 导入无分隔符的文本文件 92
5.3.1 连接到文件 92
5.3.2 清理无分隔符文件 93
5.3.3 按位置拆分列 94
5.3.4 利用查询中的错误 96
5.3.5 删除“垃圾列” 98
5.3.6 合并列 99
5.3.7 通过分隔符拆分列 99
5.3.8 修剪重复的空格 100
5.3.9 Power Query 的闪耀时刻 101
第6 章 从Excel导入数据 104
6.1 来自当前工作簿的数据 104
6.1.1 连接到表 105
6.1.2 连接到区域 106
6.1.3 连接到命名区域 108
6.1.4 连接到动态区域 110
6.1.5 连接到工作表 112
6.2 来自其他工作簿的数据 112
6.2.1 连接到文件 113
6.2.2 连接到表 114
6.2.3 连接到命名区域 115
6.2.4 连接到工作表 115
6.3 关于连接到Excel数据的最后思考 118
第7 章 常用数据转换 121
7.1 逆透视 121
7.1.1 准备数据 122
7.1.2 逆透视其他列 123
7.1.3 重新透视 124
7.1.4 应对变化 125
7.1.5 逆透视之间的区别 125
7.2 数据透视 126
7.3 拆分列 128
7.3.1 将列拆分为多列 129
7.3.2 将列拆分为多行 130
7.3.3 拆分后逆透视与拆分到行 131
7.4 筛选和排序 132
7.4.1 按特定值筛选 133
7.4.2 按上下文筛选 135
7.4.3 数据排序 137
7.5 数据分组 138
第8 章 纵向追加数据 141
8.1 基本追加 141
8.1.1 追加两个表 142
8.1.2 追加额外的表 145
8.2 追加列标题不同的数据 147
8.3 在当前文件中追加表和区域 148
8.3.1 合并表 149
8.3.2 合并区域或工作表 153
8.3.3 Excel.Current Workbook 155
8.4 关于追加查询的最后思考 155
第9 章 批量合并文件 156
9.1 示例文件背景介绍 156
9.2 过程概述 157
9.2.1 合并文件的标准流程 157
9.2.2 合并文件的通用架构 157
9.3 步骤0:连接到文件夹 159
9.3.1 连接到本地/ 网络文件夹 159
9.3.2 连接到SharePoint文件夹 160
9.3.3 连接到OneDrive for Business 162
9.3.4 连接到其他文件系统 162
9.4 步骤1:筛选文件 162
9.4.1 标准步骤 163
9.4.2 应用于示例场景 163
9.5 步骤2:合并文件 165
9.5.1 标准步骤 165
9.5.2 应用于示例场景 165
9.6 步骤3:转换示例文件 167
9.6.1 使用转换示例文件的原因 168
9.6.2 使用转换示例文件的方法 168
9.7 步骤4:通过主查询进行数据清理 171
9.7.1 修复主查询中的错误 171
9.7.2 保存文件属性 172
9.7.3 添加更多的步骤 173
9.8 更新解决方案 174
9.8.1 使用数据 175
9.8.2 添加新文件 175
9.8.3 只用最后几个文件以提升速度 176
第 10 章 横向合并数据 179
10.1 合并基础知识 179
10.1.1 创建“暂存”查询 179
10.1.2 执行合并 180
10.2 连接类型 182
10.2.1 左外部连接 184
10.2.2 右外部连接 186
10.2.3 完全外部连接 187
10.2.4 内部连接 188
10.2.5 左反连接 189
10.2.6 右反连接 190
10.2.7 完全反连接 190
10.3 笛卡儿积(交叉连接) 191
10.3.1 方法 191
10.3.2 示例 192
10.3.3 意外问题 194
10.4 近似匹配 195
10.4.1 方法 195
10.4.2 示例 196
10.5 模糊匹配 198
10.5.1 基本模糊匹配 199
10.5.2 转换表 200
10.5.3 减小相似性阈值 201
10.5.4 保持模糊匹配的策略 203
第 11 章 基于Web的数据源 204
11.1 连接到Web 数据文件 204
11.2 连接到HTML网页 205
11.3 连接到没有表的页面 209
11.4 从Web 获取数据的注意事项 212
第 12 章 关系数据源 214
12.1 连接到数据库 214
12.2 查询折叠 221
12.3 数据隐私级别 225
12.4 优化 230
第 13 章 转换表格数据 233
13.1 透视 233
13.2 逆透视 242
13.3 分组 253
第 14 章 条件逻辑 261
14.1 基础条件逻辑 261
14.2 手动创建IF 判断 265
14.3 IFERROR函数 268
14.4 多条件判断 270
14.5 与上下行进行比较 273
14.6 示例中的列 276
第 15 章 值系统 282
15.1 值类型 282
15.2 表 283
15.3 列表 284
15.4 记录 290
15.5 值 300
15.6 二进制文件 300
15.7 错误 301
15.8 函数 302
15.9 关键词 304
第 16 章 理解M语言 314
16.1 M查询结构 314
16.2 理解查询计算 320
16.3 迭代器(逐行计算) 324
16.4 其他技术 328
第 17 章 参数和自定义函数 338
17.1 重新创建合并文件 338
17.2 使用参数构建自定义函数 344
17.3 手动构建自定义函数 349
17.4 动态参数表 355
17.5 参数表的意义 361
第 18 章 处理日期时间 362
18.1 边界日期 362
18.2 日期表 367
18.3 日期时间填充 374
18.4 按日期分摊 378
第 19 章 查询优化 388
19.1 优化设置 388
19.2 使用缓存 391
19.3 处理响应滞后 396
19.4 处理公式防火墙 401
第 20 章 自动刷新 412
20.1 Excel自动刷新选项 412
20.2 Excel计划刷新 412
20.3 用宏实现自动刷新 414
20.4 Power BI 中的计划刷新 418