2.1 通过一个例子体会Power Query的基础操作
小勤:Power Query从哪里开始学好呢?
大海:我想,还是从简单的例子开始吧。先通过一个简单的例子体会一下Power Query里的基本操作,比如,获取数据、重复列、提取、转换数据格式、替换、分列、删重复行、添加自定义列以及数据上载等。初始数据如图2-1所示。
图2-1 初始数据
实现要求:
(1)将数据导入Power Query中。
(2)将“尺寸”中的长(第1个“x”号前的数字)提取到单独一列。
(3)将提取的列命名为“排序参照”。
(4)将提取的长度转换为数值。
(5)去除类型中最后的冒号。
(6)将尺寸分成长、宽、高,并使得相应的内容都成为数值。
(7)提取尺寸的单位作为单独的一列。
(8)删除表中所有重复的内容。
(9)添加自定义面积列。
(10)将结果数据上载到Excel中。
小勤:这一下子练习10个功能点。
大海:对。我们先来看看每一步怎么操作。
Step 01 数据获取(为初始数据建立查询,从而进入Power Query中进行操作。除特别说明外,后续所有案例的数据获取均采用本方法):选中数据区域内的任意单元格,切换到 “数据”选项卡,单击“从表格”按钮,在弹出的“创建表”对话框中,按需要勾选“表包含标题”复选框,单击“确定”按钮,如图2-2所示。
Step 02 重复列。因为后续要从尺寸列中提取长度作为一个新列,因此,要先对尺寸列进行“重复列”操作,然后从重复出来的列中进行提取(“提取数据”功能会直接用新的数据替代原来列中的内容,而不产生新的列)。在Power Query的“查询编辑器”中,单击“尺寸”列的列名选中该列,切换到“添加列”选项卡,单击“重复列”按钮,如图2-3所示。
图2-2 获取数据到Power Query
图2-3 重复列
Step 03 按分隔符提取文本:单击“尺寸-复制”列的列名选中该列。切换到“转换”选项卡,单击“提取”按钮,在弹出的下拉菜单中选择“分隔符之前的文本”命令。在弹出的对话框中填入分隔符“x”,单击“确定”按钮,如图2-4所示。
图2-4 按分隔符提取文本
Step 04 转换数据格式(Step 03 中提取的数据结果为文本格式,需要将其转换为数字格式):单击“尺寸-复制”列的列名选中该列,切换到“转换”选项卡,单击“数据类型”按钮,在下拉菜单中选择“整数”命令,如图2-5所示。
Step 05 双击“尺寸-复制”列标题删除原名称,输入“排序参照”后按“Enter”键完成修改,如图2-6所示。
图2-5 转换数据格式
图2-6 修改列名
Step 06 替换冒号:单击“a”列的列名选中该列,切换到“转换”选项卡,单击“替换值”按钮,弹出一个对话框。在“要查找的值”文本框中输入“:”,将“替换为”文本框中留空,单击“确定”按钮,如图2-7所示。
Step 07 将尺寸列按字符“x”分列,并分别修改名称为“长”“宽”“高”:单击“尺寸”列的列名选中该列,切换到“转换”选项卡,单击“拆分列”按钮,在弹出的下拉菜单中选择“按分隔符”命令。在弹出对话框中的“选择或输入分隔符”处选择“—自定义—”,并填入“x”,单击“确定”按钮,如图2-8所示。
图2-7 替换数据
图2-8 按自定义符号分列
分别修改新分出来的3列名称,如图2-9所示。
Step 08 从将新分出来的“高”列再分列,得到“高”和“单位”,并修改列名:单击“高”列的列名选中该列,切换到“转换”选项卡,单击“拆分列”按钮,在弹出的下拉菜单中选择“按字符数”命令。在弹出的对话框中设置字符数为“2”,勾选“一次,尽可能靠右”单选框,单击“确定”按钮,如图2-10所示。
图2-9 修改列名
图2-10 按字符靠右分列
将新分出来的列的列名修改为“单位”,如图2-11所示。
Step 09 删除重复行:单击数据表第一列的列名,按住Shift键单击数据表最后一列的列名,以选中数据表的所有列。切换到“开始”选项卡,单击“删除行”按钮,在下拉菜单中选择“删除重复项”命令,如图2-12所示。
图2-11 修改列名
图2-12 删除重复行
Step 10 添加自定义列:切换到“添加列”选项卡,单击“自定义列”按钮,在弹出的对话框中修改新列的列名为“底面积”,在“自定义列公式”里输入“=[长]*[宽]”,单击“确定”按钮,如图2-13所示。
写公式时,如果需要引用某列,(例如前面的“长”和“宽”),则在右边的“可用列”里双击列名即可以插入。
也可以手工以中括号[]内含列名的方式直接输入。但为避免输入错误,建议采用鼠标双击的方式自动插入。
一般来说,基本的四则运算在Power Query里都是一样的。但大多时候,在Power Query中添加自定义列都会用到Power Query的函数或M语言的一些表达式,这些函数或表达式和Excel中的函数不太一样。但如果读者熟悉Excel的基础函数,那也会很快掌握Power Query的函数,只是写法有一些差别而已。
添加自定义列后的效果如图2-14所示。
图2-13 添加简单自定义列
图2-14 添加自定义列的效果
Step 11 关闭并上载数据(将Power Query处理的结果返回Excel中。除特别说明,后续所有案例第一步均采用本方法):切换到“开始”选项卡,单击“关闭并上载”按钮,如图2-15所示。
小勤:这些操作看起来都很简单呢。
大海:是的,Power Query里的基础操作和Excel类似,都是一些简单的鼠标操作。了解一部分功能后,自己就可以动手尝试大部分其他功能了。
小勤:那我去看看菜单上的其他功能按钮。
图2-15 数据上载
大海:后面的案例里也会反复应用到各种基础操作。如果提前熟悉,则对后面的内容学习也会有很好的帮助。另外,在看书的同时尽量用数据实际练习一下。