Chapter 01 初识Power Query 1
1.1 两个实际案例引发的方法变革 2
1.1.1 案例一:16个分公司全年工资汇总 2
1.1.2 案例二:几年来近百万行销售数据统计分析 3
1.2 Power Query来救命了 4
1.2.1 可以从不同的数据源采集数据 5
1.2.2 大量工作表数据汇总变得易如反掌 5
1.2.3 以数据模型为核心的海量数据分析很简单 5
1.2.4 体验前所未有的智能化操作 5
1.3 Power Query命令与编辑器界面 6
1.3.1 Power Query命令 6
1.3.2 Power Query编辑器 7
Chapter 02 Power Query的基本用法与注意事项 9
2.1 从工作簿里查询数据 10
2.1.1 从当前工作簿里查询数据 10
2.1.2 从其他没有打开的工作簿里查询数据 20
2.2 从文本文件里查询数据 20
2.2.1 CSV格式文本文件 20
2.2.2 其他格式文本文件 25
2.3 从数据库查询数据 28
2.3.1 从Access数据库查询数据 29
2.3.2 从SQL Server数据库查询数据 31
2.4 保存查询结果 33
2.4.1 保存为表 33
2.4.2 保存为数据透视表 35
2.4.3 保存为数据透视图 36
2.4.4 仅创建连接 36
2.4.5 将数据添加到数据模型 36
2.4.6 重新选择保存方式 37
2.4.7 导出连接文件并在其他工作簿中使用现有查询 37
2.5 注意事项 41
2.5.1 自动记录下每个操作步骤 41
2.5.2 注意提升标题 44
2.5.3 注意设置数据类型 45
2.5.4 编辑已有的查询 47
2.5.5 刷新查询 47
2.6 了解每个操作步骤及相应M公式 49
2.6.1 源 49
2.6.2 导航 50
2.6.3 提升的标题 51
2.6.4 更改的类型 51
2.6.5 筛选的行 52
2.6.6 排序的行 53
2.6.7 其他操作 54
Chapter 03 Power Query常规数据处理操作 55
3.1 打开“Power Query编辑器”窗口 56
3.1.1 执行“查询”命令打开 56
3.1.2 通过某个查询打开 56
3.1.3 直接打开 57
3.2 查询的基本操作 58
3.2.1 预览查询 58
3.2.2 重命名查询 59
3.2.3 复制查询 61
3.2.4 删除查询 62
3.2.5 刷新查询 63
3.2.6 设置查询说明信息 63
3.2.7 显示/隐藏“查询&连接”窗格 65
3.3 列的一般操作 65
3.3.1 重命名列 65
3.3.2 选择要保留的列 65
3.3.3 删除不需要的列 67
3.3.4 复制列 67
3.3.5 移动列位置 68
3.3.6 拆分列 68
3.3.7 合并列 81
3.3.8 透视列 84
3.3.9 逆透视列 97
3.3.10 替换列数据 100
3.4 文本列的特殊操作 102
3.4.1 从列数据中提取字符 102
3.4.2 转换列数据格式 109
3.5 日期时间列的特殊操作 113
3.5.1 计算当前与表格日期之间的天数 114
3.5.2 从日期和时间数据中提取日期 115
3.5.3 计算日期的年数据 118
3.5.4 计算日期的月数据 119
3.5.5 计算日期的季度数据 121
3.5.6 计算日期的周数据 122
3.5.7 计算日期的天数据 123
3.5.8 获取某列日期中的最早日期或最晚日期 124
3.5.9 合并日期和时间 124
3.5.10 处理时间列 125
3.6 数字列的特殊操作 125
3.6.1 对列数字进行批量修改 126
3.6.2 对列数字进行四舍五入 128
3.6.3 对列数字进行简单的统计计算 128
3.6.4 对列数字进行其他的计算处理 128
3.7 数据行的一般操作 129
3.7.1 保留行 129
3.7.2 删除行 129
3.8 整个表的操作 130
3.8.1 反转行 130
3.8.2 转置表 131
3.8.3 表标题设置 132
Chapter 04 向表添加新列 133
4.1 添加索引列 134
4.1.1 添加自然序号的索引列 134
4.1.2 添加自定义序号的索引列 136
4.2 添加自定义列 136
4.2.1 添加常数列 137
4.2.2 添加常规计算列 138
4.3 添加条件列 142
4.3.1 添加条件列——结果是具体值 142
4.3.2 添加条件列——结果是某列值 147
4.3.3 删除某个条件 150
4.3.4 改变各个条件的前后次序 150
4.4 条件语句if then else 150
4.4.1 基本语法结构 151
4.4.2 应用举例 151
Chapter 05 查询分组统计 159
5.1 基本分组 160
5.1.1 对项目求和 160
5.1.2 对项目求平均值、最大值和最小值 163
5.1.3 对项目计数 165
5.2 高级分组 167
5.2.1 同时进行计数与求和 167
5.2.2 同时进行计数、平均值、最大值和最小值 169
5.2.3 对多个字段进行不同的分组 172
5.2.4 删除某个分组 175
5.2.5 调整各个分组的次序 175
Chapter 06 多表合并查询 176
6.1 一个工作簿内的多张工作表合并汇总 177
6.1.1 多张工作表的堆积汇总 177
6.1.2 多张工作表的关联汇总——两张工作表的情况 183
6.1.3 多张工作表的关联汇总——多张工作表的情况 191
6.1.4 多张工作表的关联汇总——匹配数据 198
6.2 多个工作簿的合并汇总 203
6.2.1 汇总多个工作簿,每个工作簿仅有一张工作表 203
6.2.2 汇总多个工作簿,每个工作簿有多张工作表 213
6.2.3 查找汇总多张工作表里满足条件的数据 221
6.2.4 按项目分组汇总多张工作表的数据 221
6.3 合并查询 226
6.4 合并查询综合应用1 234
6.4.1 只有一列需要核对的数据 234
6.4.2 有多列需要核对的数据 242
6.5 合并查询综合应用2 246
6.5.1 建立基本查询 247
6.5.2 统计全年在职员工 248
6.5.3 统计全年离职员工 249
6.5.4 统计全年新入职员工 250
6.6 合并查询综合应用3 251
6.6.1 建立基本查询 251
6.6.2 统计两年存量客户 252
6.6.3 统计去年的流失客户 260
6.6.4 统计当年新增客户 264
6.7 追加查询 265
6.7.1 新建追加查询 265
6.7.2 事后追加新的数据表 270
6.8 其他合并问题 274
6.8.1 核对总表和明细表 274
6.8.2 制作已完成合同明细表 279
6.8.3 制作未完成合同明细表 286
Chapter 07 Power Query数据处理案例精粹 288
7.1 拆分列 289
7.1.1 “拆分列”命令 289
7.1.2 按分隔符拆分列——拆分成数列 289
7.1.3 按分隔符拆分列——拆分成数行 296
7.1.4 按字符数拆分列 298
7.2 合并列 300
7.2.1 合并列形式1——合并为一列 300
7.2.2 合并列形式2——合并为新列 302
7.3 提取字符 304
7.3.1 提取字符形式1——将原始列转换为提取的字符 305
7.3.2 提取字符形式2——将提取的字符添加为新列 306
7.3.3 提取最左边的字符 306
7.3.4 提取最右边的字符 308
7.3.5 提取中间字符 309
7.3.6 提取分隔符之前的字符 311
7.3.7 提取分隔符之后的字符 313
7.3.8 提取分隔符之间的字符 313
7.3.9 综合练习——从身份证号码中提取信息 315
7.4 转换表结构 320
7.4.1 一列变多列 320
7.4.2 多列变一列 320
7.4.3 一行变多行 320
7.4.4 多行变一行 321
7.4.5 二维表转换为一维表 324
7.4.6 一维表转换为二维表 326
7.4.7 综合练习1——连续发票号码的数据处理 330
7.4.8 综合练习2——考勤数据处理 342
7.5 表格合并 348
7.5.1 汇总工作簿内工作表的两个重要问题 348
7.5.2 一个工作簿的表格合并——全部工作表合并 350
7.5.3 一个工作簿的表格合并——部分工作表合并 355
7.5.4 不同工作簿的表格合并 359
7.5.5 汇总多个文本文件 369
7.6 表格查询 373
7.6.1 单表查询满足条件的数据 373
7.6.2 多表查询满足条件的数据 376
7.7 基本统计汇总 379
7.7.1 单列分组计算 379
7.7.2 多列分组计算 382
7.7.3 用透视列重构报表 385
Chapter 08 与Power Pivot联合使用 386
8.1 将Power Query查询加载为数据模型 387
8.1.1 加载为数据模型的方法 387
8.1.2 重新编辑现有的查询 388
8.2 利用Power Pivot建立基于数据模型的数据透视表 388
8.2.1 基于某一个查询的数据透视表 388
8.2.2 基于多张有关联表查询的数据透视表 393
8.2.3 基于海量数据查询的数据透视表 397
Chapter 09 M语言简介 401
9.1 从查询操作步骤看M语言 402
9.1.1 查询表的结构 402
9.1.2 每个操作步骤对应一个公式 404
9.1.3 用高级编辑器查看完整代码 404
9.2 通过手动创建行、列和表进一步了解M函数 406
9.2.1 创建行 406
9.2.2 创建列 412
9.2.3 创建一个连续字母的列 413
9.2.4 创建一个连续数字的列 414
9.2.5 创建一个表 414
9.3 M语言及函数 415
9.3.1 M语言结构 416
9.3.2 M语言的运算规则 417
9.3.3 M函数语法结构 417
9.3.4 M函数简介 418
9.4 M函数应用举例 420
9.4.1 分列文本和数字 420
9.4.2 从身份证号码中提取生日和性别 424
9.4.3 计算迟到分钟数和早退分钟数 425