强大的查询
昨天我实现了前天还不能实现的功能,用起来果然很爽。Power Query拯救了用vlookup公式导致源数据界面输入卡顿的问题。关于vlookup的卡机,据说用Power Query或者Power Pivot都能实现,而且据说PP的效率比PQ还要高。PQ现在我知道应该在哪里写代码了,但PP的DAX到底在哪里写,至今我还没找到。相对来说,我觉得PQ界面的按钮多一些。PP的按钮感觉跟数据透视表很类似。这就意味着,厉害的功能就隐藏在普通的东西之中。PP跟PQ比起来,函数的数量少了很多。用过的人都说,PP要比PQ简单,PQ就像一个谜一样。
前几天当我搜索,PQ教程的时候,发现了里面居然有递归。在谈递归的时候,把迭代也放进去了。迭代跟递归有什么区别现在我还不知道,但我知道递归和循环有什么区别。当某个函数的控制可以把判断和循环都用上的话。再加上700多个已经事先设定好的系统函数。PQ要实现一些神一般的功能显然是理所当然的。只有你想不到,没有它做不到,但前提是,要做到某些功能,光靠可视化版面,根本不可能。要在高级编辑器里自行折腾,或者在自定义的地方选择性折腾。光靠鼠标点击按钮是没办法把PQ的函数层层套用的,没办法一次性套用多个函数,某些功能就比较难实现了。对小白来说,要掌握所有可视化的按钮,尚且没那么容易,但是真正的高手,是必须自己写码的。
PQ用的是M语言,貌似我在VSCode的插件里面没找到相关的东西。里面有DAX的插件,可以自动补全和语法高亮。M语言更需要这种插件,因为光是函数的大小写就会把人搞疯掉。英语输入默认全部都是半角,但是如果我们的脚本里面还有中文,那就意味着中文跟英文得不断切换。光是逗号这种东西就会搞死人。而且我们的脚本里面,还不可能不出现中文。的确,函数可以起英文名字,但是,要处理的数据的列名,必然有中文,因为表格的内容有中文。我不知道那些写码的人是如何克服这种中文英文切换标点符号的问题,反正我是觉得,双引号,逗号,小括号这种东西经常让我很烦恼。不过幸好,据说,Office 2016以后的PQ,在写码的时候有自动补全功能,的确现在我的Microsoft 365可以这样,不仅仅是函数可以自动补全,连变量也可以自动补全。我不知道其他人写码的时候是怎样的,反正自从我习惯了python以后,我实在不能接受没有规范缩进的脚本。也正是因为有了python的习惯,所以我也默认把缩进从tab换成了4个空格。习惯了在VSCode里4个空格是4个圆点,现在PQ里没有这种东西。总让我觉得很不智能。
所有office文件都可以修改后缀,变成一个压缩文件。里面你看得懂或者看不懂的东西实际上就是数据以及你执行的步骤,所以PQ虽然有可视化界面,但实际上,它的高级编辑器让我觉得,那东西还原出了office软件数据处理的本身。
今年我的计划是学R语言,但实际上,我迷上了python,接着现在,我又迷上了M语言。