EXCEL|M语言的内容补充-关键字、表达式、自定义函数等的进阶内容最近分享的案例都稍微复杂点,都需要花一些时间一点点吃透,然后再发出来大家一起学习。但是因为最近工作实在太忙,每天又很晚下班,再去烧脑学习复杂运用时间就有点不够。所以咱们这两天先多学点理论知识。实操的,也会在周末的时候补上。今天的内容,之前咱们大概也讲过。就是关于let...in...语句。但是因为今天的内容更直观易懂,所以咱们再一起学习下。M语言的代码块都以"let"开头,结束于"in"。"let...in..."可以理解为“设......解得......”。在M语言中,每一个转换步骤都由变量名和它对应的M表达式组成,变量名就是步骤名本身,M表达式一般是由M函数构成的语句。在Power Query编辑器的功能区,打开“高级编辑器”,可以打开专门用于编写M代码的“高级编辑器”窗口,如下图所示:M语言的代码块可以分成以下4个部分:(1)查询开始:由位于查询上方的关键字let开始,一般而言let关键字都是独立成行的。(2)查询结束:由关键字in定义,一般位于整个代码的倒数第二行。(3)查询定义:let和in中间的代码块都是查询的内容,它代表整个数据处理流程。(4)查询输出:关键字in后面的内容,查询的最后一行;可以是任意步骤名,也可以是M表达式。除了最后一步外,每一个转换步骤都以逗号结尾,换行后开始下一个步骤。关键字in前面一句及后面一句M代码后都无需逗号。我们来同时建立4个简单的查询,测试输出结果,如下:4个查询返回的结果都是"我是查询"。在之前的案例中,查询步骤之间都有很强的关联性,那是因为下一个查询将上一个查询结果作为输入内容。但是观察上面的查询会发现,其实它们中间可以是完全独立的。也就是说,我们导入数据时不一定要将每个表格单独导入成一个查询,完全可以使用M函数的一个查询导入多个表格。解释下上面划横线的意思,见以下:咱们之前用过Excel.Workbook()函数,点击EXCEL|Power Query合并文件之Excel.Workbook()函数。另外,用in返回结果时,也不局限于最后一步,它可以返回任意步骤,见上图的①和②,也可以返回M代码重新定义的结果,见上图的③,甚至可以返回与所有步骤都没有关系的一个常量,见上图④。好了,今天内容就这些。