添加索引列:
= Table.AddIndexColumn(更改的类型, "索引", 0, 1)--->更改的类型代表上一步的操作,索引表示新列名,0表示起始数值,1表示以1为步长递增。
调换两列的位置:
= Table.ReorderColumns(已添加索引,{"序号", "身份证号码"})--->{}表示数组,里面的为元素,中间用逗号隔开
提取文本中的字符时,要写的索引是要提取的字符的前一个索引号,因为M函数中是从0开始排的。
添加列:
= Table.AddColumn(重排序的列, "文本范围", each Text.Middle([身份证号码], 16, 1), type text)--->凡是前面是Table.AddColumn函数的,第三个参数要写each,翻译成每一行;type text表示生成字段的数据类型。
[]表示字段引用符
{{}}表示二维数组,里面可以嵌套多个一维数组,做多个事情({{},{}...})
= Table.TransformColumns(更改的类型1,{{"性别", Number.IsEven, type logical}})--->Table.TransformColumns一次可以对多个不同的字段做多种不同的事情
M函数的注释:单行注释符为//;多行注释符为/*.......*/
自定义函数:
(参数1,参数2,参数3......)=>函数表达式
eg.(parameter1 as number,parameter as number)=>
let
Final = (parameter1+parameter2)/2
in
Final
列表没有字段名,可以有多行值;记录有字段名,只有一行值
引号引用的为文本,不加引号的为名称
二维列表创建记录,创建有多行值的
隐式字段表中使用列表记录的,没有名称,只能用文本值代替,所以要加引号,数据类型由下面行写上的来决定。
对表写{}取出来的是记录而不是列表,对二维列表而言取出来的是列表,记录是字段加一行值,所以是竖着排的。