![34ada1fd3d105a0bb0a8c70c0606975e.png](https://i-blog.csdnimg.cn/blog_migrate/653d00423e26f412105e2e505056128c.jpeg)
题记:
其实第一篇正式笔记我犹豫了挺久的,到底是先介绍M语言呢,还是先介绍菜单操作?考虑到把PQ当做一门语言来学的人是少数,我还是把菜单操作放在了前面。但是纯粹从学习的角度来讲,我个人依旧是建议先学M语言,然后再学习菜单操作。就好比小学学计算,肯定是先学习竖式手动计算,然后使用计算器辅助计算的。PQ的菜单操作很大程度上是将可以实现特定功能的、常用的M语言脚本集成到了GUI界面里来方便用户使用。
从表格
菜单操作用户一般是不需要自己构造序列(List)或者表(Table)的,因此对于这部分用户来说,一般是通过一个操作来快速进入PQ界面的,这个操作就是“从表格”。
在讲“从表格”之前,有必要插播两个小技巧:Ctrl+T和套用表格格式。因为从表格用到的表不是区域(Area),而是表(Table),因此需要先定义一个表,常用的两个定义表的操作一个是菜单操作——套用表格格式,另一个是——快捷键Ctrl+T,使用方法如图所示:
![bed346bbcd9fc3d47b4b0ac2a77106dd.png](https://i-blog.csdnimg.cn/blog_migrate/ecd6d140859c43e1347ff8689782f4a8.jpeg)
当然,PQ是非常人性化的,如果你没有先定义表,直接使用了“从表格”,PQ会自动将你选定的区域转换为表(如下图所示)。那么为什么还要自己定义表(相较于自动生成表)呢?
讲一个主要原因:方便你对表做一些细节设定,特别是给表进行命名,这是特别好的习惯。
![b7dc266fe702500624e2ba07e9d6c02e.png](https://i-blog.csdnimg.cn/blog_migrate/f48b916d3a200c70e3330b4181928bed.jpeg)
上图很好地展示了“从表格”操作的用法,以及展示了PQ的编辑界面,就不赘述了。
关闭并上载
和学习大多数软件一样,首先要学习打开和关闭,从表格相当于PQ的开始,那么如何关闭PQ界面呢?可能有同学说,不就是点个X嘛,这样是可以关闭,但是过于暴力,我们还是来了解下关闭具体有哪些操作。
![7b1505b6a6898d4ffb93f90c6411ba87.png](https://i-blog.csdnimg.cn/blog_migrate/6d5db9340ea3b307be5198911d1ad1b6.png)
最左边的“关闭并上载”就是我们要学习的正式关闭按钮了,从下图可以看到,点击后会弹出两个选项:上载 / 上载至。点击上载至后又会弹出一个窗口让你做进一步的选择。
![180fa608d44f80f45c39d48a9cfe2218.png](https://i-blog.csdnimg.cn/blog_migrate/650fad2b8fd3d4eb5d9decf8b75d0c80.png)
![e2429b6b2ec5ac7cca41695af66a133b.png](https://i-blog.csdnimg.cn/blog_migrate/e477bd77c191344d9926b023c2000a22.jpeg)
顾名思义,加载到表的意思就是将查询结果加载到工作表当中,你可以选择新建工作表或者现有的工作表,而关闭并上载选项就是直接执行加载到新建工作表当中。
重点需要说的是仅创建连接,意思是查询结果被加载到了内存,执行速度快,并且方便随时在查询M语句中进行引用。
一般地,我只将最终要的结果加载到工作表,中间过程结果一律仅创建连接,如果删掉加载的表,那么结果会自动转为连接。
开始菜单
讲解完了PQ的进入和退出,我们再来看看菜单里面都有哪些功能:
![57e8dba72998772207a7ecc4ad29c17e.png](https://i-blog.csdnimg.cn/blog_migrate/9a4cc4b69162288cf1e7a074055d6e91.png)
很容易理解、一看就懂的操作,就不再在笔记中记录了,我们重点看一下Excel常规功能中没有的功能,或者比常规功能更加好用的功能(红框中的功能)。
![7320bfaf86d587ac88f4d59fabfeb19a.png](https://i-blog.csdnimg.cn/blog_migrate/4406bb8522e3eb9c618b51543eeb7ab5.jpeg)
1.拆分列:
拆分列相当于常规操作中的分列功能,都可以按照分隔符/字符数来拆分字段;
![4a0066beeca9abb4e3b51119a5dad5a6.png](https://i-blog.csdnimg.cn/blog_migrate/a68ea6745df5237bf85255f2b65a5323.jpeg)
可以看到上图中的yyyy/m/d hh:mm:ss数据被以空格“ ”为分隔符,拆分成了yyyy/m/d和hh:mm:ss两列数据。菜单中的其它的选项就留给大家去尝试体验了。
2.分组依据:
我们可以把这个功能理解为“依据xx条件对数据进行分组”,和透视统计比较相似;
![3bc26139ff1ec71dd0ef923f3bcbbe73.png](https://i-blog.csdnimg.cn/blog_migrate/7e0b8924fc95b78ace600c5535481654.jpeg)
可以看到上图快捷地将电子产品按照大类进行了分类计数统计;
![544b22e7d2e3baf6f11e7ed77bf9c81e.png](https://i-blog.csdnimg.cn/blog_migrate/74d01483ba10d807f616bcb5d92dc558.jpeg)
分组依据的高级功能可以快捷地实现一些统计功能,如求最值。
3.合并查询:
顾名思义,合并查询是从两个现有的查询创建一个新查询。很多时候,现有的“查询”就是两个原始表而已,因此这个概念简化起来理解并不难。
合并查询用的最多的就是实现类似于vlookup的功能,并且支持多条件(使用Ctrl选择条件列)合并查询,还可以实现类似于集合间的运算:并、交、差、补。
为了方便理解这个操作,我们先了解一下合并查询的6大联接种类:(仅通过图示讲解)
![8975c9bf28833f7be3bf5c5e18145868.png](https://i-blog.csdnimg.cn/blog_migrate/cf750d235d8a32c74d7a73738ac56cb8.jpeg)
好,现在我们实际演练一下:
通过购物车中的商品名匹配出其价格,通常我们使用vlookup来实现,现在通过合并查询—左外联接就很容易地实现了:
![dfe3895af724db162b648aefa8246973.png](https://i-blog.csdnimg.cn/blog_migrate/430e2443781331cb828a67edd194894b.jpeg)
查询结果需要展开,我们选择价格,就可以看到最终想要的结果了。
![f6ebdb2c9f8cc44c6fb4e30c788b5513.png](https://i-blog.csdnimg.cn/blog_migrate/dca08f51a6b709f147779f5173d574db.jpeg)
4.追加查询:
![d3e2aee2004b3e0d1465ba1ec972c467.png](https://i-blog.csdnimg.cn/blog_migrate/f44012745da3b133942f545551a32beb.jpeg)
这张图很简洁地展示了追加查询最基本的用法,实际效果和“追加”的含义一致。
Power Query — 基础知识mp.weixin.qq.com![86e7338cf9490ec44368797a07b1cc3d.png](https://i-blog.csdnimg.cn/blog_migrate/4427945812c7b225640403b9c72dad4b.jpeg)
下篇笔记:《PQ的菜单操作——下》