一、M函數(shù)
Power Query通過鼠標(biāo)操作可以完成大部分?jǐn)?shù)據(jù)處理工作,但還有些復(fù)雜工作是處理不了的,就必須掌握M函數(shù)來實現(xiàn)若治。
1.M函數(shù)的基本規(guī)范
a.嚴(yán)格區(qū)分大小寫慨蓝,每個字母必須按函數(shù)規(guī)范書寫,第一個字母大寫
b.表被稱為Table端幼,每行內(nèi)容是一個Record礼烈,每列內(nèi)容是一個List
c.行標(biāo)是大括號 { },比如取第一行的內(nèi)容:=表{0}
列標(biāo)用中括號 [ ]婆跑,比如提取自定義列的內(nèi)容:=表[自定義]
取第一行自定義列的內(nèi)容:=表{0} [自定義]
2.常用M函數(shù)
a.聚合函數(shù)
List.Sum(),List.Min(),List.Max(),List.Average()
b.文本函數(shù)
求文本長度:Text.Length()
去文本空格:Text.Trim()
取前n個字符:Text.Start()
取后n個字符:Text.End()
移除文本:Text.Remove()
提取文本:Text.Select()
c.提取數(shù)據(jù)函數(shù)
從Excel表中提取數(shù)據(jù):Excel.Workbook()
從Csv/Txt中提取數(shù)據(jù):Csv.Document()
d.條件函數(shù)
IF then else (相當(dāng)于Excel中的IF函數(shù))
e.查看所有M函數(shù)
PowerQuery中新建一個空查詢此熬,輸入:=#shared
3.文本處理技巧:移除和提取
移除英文字母:
中文名=Text.Remove([客戶],{"A".."Z"})
中文名=Text.Remove([客戶],{"A".."z"})
移除英文字母和漢字:
Text.Remove([客戶],{"一".."龜","A".."z"})
移除數(shù)字:
Text.Remove([客戶],{"0".."9"})
4.分列
多種分割符共存:
Table.SplitColumn(提升的標(biāo)題, "區(qū)號", Splitter.SplitTextByAnyDelimiter({",","滑进;","-","+","犀忱。"}, QuoteStyle.Csv))