这个小节主要带大家进行一次实践,根据以下的步骤,巩固一些Power Query的基础功能。
- 在新的Excel工作簿中获取数据源
- 将数据源导入至PowerQuery编辑器
- 重命名PowerQuery编辑器中的查询名称
- 使用【添加列】选项卡中的计算功能,对两列数据进行运算。
- 重命名【预览窗格】中的列
- 利用【编辑栏】修改运算步骤
- 在【预览窗格】中【删除列】
- 在【预览窗格】中对列的内容进行【筛选】
- 【文本筛选器】的大小写
- 上载转换好的数据至Excel工作表中
- 自动刷新报表
- 再次打开并编辑Excel中的Power Query查询
正文开始
步骤1:
在新的Excel工作簿中导入数据源
新建一个空白的新的Excel工作簿,然后点击【数据】-【获取数据】-【来自文件】-【从工作簿】,选择存放数据的Excel,点击【导入】。
步骤2:
将数据源导入至PowerQuery编辑器
进入【导航器】对话框后,选择你要导入的表,如果所示是【Sheet1】,然后点击【转换数据】。图1-28
在这里我们推荐大家导入数据的时候点击【转换数据】而不是【加载】。因为在某些情况下我们并不确定加载的数据源是否合适直接加载到Excel工作簿中,而点击【转换数据】才能让我们进入到【Power Query编辑器】中,随之对数据进行转换,加工成我们所需要的样子。
步骤3:
在PowerQuery编辑器中修改查询名称
进入【PowerQuery编辑器】后,打开左边的【查询窗格】,选中【Sheet1】,双击Sheet1或者右键【重命名】该查询,将【Sheet1】改为【Products】 如图1-29。
建议大家养成修改查询名称的习惯,可以方便我们在众多查询中,快速找到自己需要编辑的查询。想象一下,如果将来在查询窗格中加载了很多“Sheet1”,我们就很难辨认每个查询的内容了。
步骤4:
使用【添加列】选项卡中的计算功能,对两列数据进行运算。
在这个案例中,我们可以看到【预览窗格】的最后两列是“Cost(成本)”和“Price (价格)”。
如果我们想要添加一列来计算出“Profit(利润)”,我们需要用【价格】减去【成本】。
在PowerQuery编辑器中,我们先用鼠标+Ctrl/Shift键选中这两列,然后依次点击选项卡【添加列】-【标准】-【减】,即可得到新的一列【减法】。如图1-30和图1-31所示。
步骤5:
重命名【预览窗格】中的列
我们可以鼠标双击该列的标题进行重命名,或者右键该列标题打开快捷菜单选择【重命名】,将【减法】改成【Profit(利润)】,如图1-32所示。
步骤6:
利用【编辑栏】修改运算步骤
如图1-33所示,这里的【Profit(利润)】有一个小问题,我们发现该列出现了负值,实际上【Price(价格)】减去【Cost(成本)】后应该是正的。
那么为什么会出现这个问题呢,很可能是因为在【步骤4】选中成本和价格这两列的时候,顺序错了。如果你先选【成本】再选【价格】,那么减法的结果就是 “成本 - 价格” 所以为负。应该先选【价格】再选【成本】,才能得到 “价格 - 成本” 的结果。
在这里我们不需要回到【步骤4】重新再选一次,只需要依照下面【步骤7】就可以对公式进行更正:
步骤7:
利用【编辑栏】修改运算步骤
如图1-34所示,我们在【应用的步骤】中选择【插入的减法】,这时可以看到在【编辑栏】的公式中有一个算式 “[Cost] - [Price]” ,我们只需要把这个算式改成 “[Price] - [Cost]” , 编辑栏的其他内容不变, 结果就会改正了,如图1-35。
学到这里,如果大家是第一次接触PowerQuery,暂时不必深究编辑栏公式背后的逻辑,因为这会涉及到M语言的内容,而目前M语言不是我们的学习重点,我们会在以后的章节学习中为大家讲解。
步骤8:
在【预览窗格】中【删除列】
注:接着上面【步骤7】,我们在【应用的步骤】窗格中停留在了【插入的减法】这一步骤,需要大家点击选择最后一个步骤【重命名的列】,这一步尤其需要大家关注——
在【应用的步骤】窗格中,所有的步骤都是依序进行的,如果要在中途插入步骤,很可能会对后续的步骤产生影响。除非必要,大家最好在当前窗格的最后一个步骤中,进行新的操作,以免对前序步骤造成影响。
然后,选中你要删除的列(本示例是【Product Number】),直接按键盘【Delete】键即可删除该列。或者点击选项卡【主页】-【删除列】,如图1-36:
步骤9:
在【预览窗格】中对列的内容进行【筛选】
比如我们现在想筛选所有包含【Touring】的产品,点击【Product】列的【下拉按钮】,在输入框中输入 "touring",按回车,即可完成筛选。如图1-37所示。
或者我们可以使用【下拉菜单】中的【文本筛选器】-【包含】,在弹出来的对话框中,输入“touring”也可完成筛选。如图1-38和图1-39所示:
我们可以看到【文本筛选器】中有很多高级的筛选功能,可以满足我们不同的筛选需求。大家可以根据自己的实际情况进行使用。
步骤10:
注意【文本筛选器】的大小写
但是很快我们发现一个新的问题,在【文本筛选器】中有严格的大小写要求,当我们输入“touring“,使Product列中所有的 “Touring”都被排除了。如图1-40,表格结果为空。
这时,就需要用到M语言编辑,在编辑栏中给【Text.Contains】这个函数增加一个条件【Comparer.OrdinalIgnoreCase】即可忽略这个筛选的大小写,将所有包含 “Touring” 的产品筛选出来。公式如图1-41所示。
同样的,关于M语言我们会在后续的章节中详细介绍,这里只是跟大家说明一种情况。
其实在实际的工作运用中,也不需要大家完全掌握M语言(除了高级用户外),大多数时候我们都如同上面两个涉及M语言的示例一样,只需要稍作编辑和改动,就可以满足我们的日常工作和学习。
步骤11:
上载转换好的数据至Excel工作表中
最后就是将我们转换好的数据加载到Excel中,我们只需点击选项卡【主页】-【关闭并上载】,就可以将数据以【表格】的形式加载至Excel工作表中。如图1-42和图1-43所示:
步骤12:
自动刷新报表
在完成了以上的操作后,大家可以打开你的数据源(本示例数据源文件是【C01E01】),然后随便修改一些数字或内容,保存好源文件后,我们再回到这个新建的Excel工作簿中,【刷新】一下刚刚上载好的表格,你会发现【C01E01】中所有的更新,将自动更新至这个表格中。
这就是PowerQuery可以大大节省我们工作时间的关键,我们只需在第一次使用时进行数据转换的操作,这些操作都会被Power Query记录下来。之后同样的文件下的更新,只需鼠标点击一下【刷新】,所有的数据将按照操作步骤自动完成!无需用户再次进行重复的手动工作。
步骤13:
再次打开并编辑Excel中的Power Query查询
前面我们已经介绍过了,如果在PowerQuery中转换数据并将数据加载至Excel工作表中,接下来这个步骤,将跟大家介绍一下,报表加载至Excel工作表后,如果需要再次修改或调整,如何再次打开Power Query编辑器进行数据转换的工作。
我们只需要点击选项卡【数据】-【查询与链接】,在右边弹出的【查询&连接】中,双击你需要编辑的查询,即可再次打开PowerQuery编辑器。
我们的第一个实战练习到这里就结束啦,这个示例只是帮助大家了解一些PowerQuery的基本功能。在随后的章节中,我们将继续学习如何处理数据准备工作在Power Query编辑器中会遇到的各种挑战。
大家看完文章后,不要忘了根据步骤,打开Excel自己动手操作下,确保所有的知识点真的吸收了!
觉得有用的话,记得点个赞,关注收藏一下呀。