POWERBI數(shù)據(jù)處理和分析-POWER QUERY中M語言基礎(chǔ)_第1頁
POWERBI數(shù)據(jù)處理和分析-POWER QUERY中M語言基礎(chǔ)_第2頁
POWERBI數(shù)據(jù)處理和分析-POWER QUERY中M語言基礎(chǔ)_第3頁
POWERBI數(shù)據(jù)處理和分析-POWER QUERY中M語言基礎(chǔ)_第4頁
POWERBI數(shù)據(jù)處理和分析-POWER QUERY中M語言基礎(chǔ)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

POWERQUERY中M語言基礎(chǔ)1章節(jié)內(nèi)容4.1M語言概述4.2M語言語法的基本結(jié)構(gòu)4.2.1M語言程序基本結(jié)構(gòu)4.2.2M語言詞法4.2.3M語言數(shù)據(jù)類型4.2.4.M語言運算符4.2.5M語言表達(dá)式4.2.6M語言程序控制結(jié)構(gòu)4.2.7M語言函數(shù)4.3M語言的庫函數(shù)介紹24.1M語言概述M語言是微軟在EXCEL和POWERBI的POWERQUERY組件內(nèi)嵌的公式語言,可以將來自于各種數(shù)據(jù)源中數(shù)據(jù)通過過濾、組合、計算、轉(zhuǎn)換等方式自動化的提取整理表格形式。通過POWERBI的菜單和按鈕可以完成數(shù)據(jù)獲取和處理操作,這些操作的每一步都對應(yīng)一條M語言的語句。對于通過菜單和按鈕難以完成的,面向復(fù)雜數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)源,以及難度較高的數(shù)據(jù)處理過程的任務(wù),可以通過使用M語言編寫規(guī)模不大的程序來實現(xiàn)。34.2.1M語言程序基本結(jié)構(gòu)PowerQuery中一個查詢對應(yīng)一個M語言程序M語言程序的基本結(jié)構(gòu)是一個let…in…表達(dá)式let和in之間是若干條使用逗號作為分隔符的賦值表達(dá)式語句,每一個賦值表達(dá)式都代表了從某個數(shù)據(jù)源獲取數(shù)據(jù),或者對已經(jīng)保存為某種類型的內(nèi)存中數(shù)據(jù)進(jìn)行轉(zhuǎn)換和處理的過程賦值表達(dá)式的書寫次序表示了數(shù)據(jù)處理執(zhí)行的次序in后面的表達(dá)式表示最終這個查詢程序保存的數(shù)據(jù)對象44.2.1M語言程序基本結(jié)構(gòu)M語言程序?qū)嵗?4.2.1M語言程序基本結(jié)構(gòu)可以通過點擊POWERBI查詢編輯器窗口中“視圖”選項卡的“高級編輯器”按鈕來查看和編輯查詢所對應(yīng)的M語言源程序。64.2.2M語言詞法1.M語言詞法簡述M語言是基于UNICODE字符集的,并且大小寫字母敏感的語言,因此Source和source是兩個不同的標(biāo)識符名。M語言程序由空白字符、注釋和基本詞法元素的構(gòu)成,而基本詞法元素又包括代表各種數(shù)據(jù)對象和函數(shù)的標(biāo)識符名、有特殊含義的關(guān)鍵字、常量、運算符、分隔符等。2.空白字符空白字符包括空格、制表符和回車換行符等。74.2.2M語言詞法3.注釋M語言的注釋和C/C++中一樣,包括由“//”開始的單行注釋,和“/*”和“*/”括起來的多行注釋,注釋是給閱讀程序的人看得,對程序起著解釋的作用,POWERBI在將M語言程序翻譯成計算機(jī)指令并執(zhí)行時會忽略所有的注釋。下面是一個單行注釋的例子。lets1=1.23ins1//這是一個簡單的M語言程序下面是一個多行注釋的例子。/*這是一個簡單的M語言程序。最終生成的數(shù)據(jù)是一個數(shù)值型的數(shù)據(jù),它的值是1.23。*/lets1=1.23ins184.2.2M語言詞法4.標(biāo)識符M語言中的標(biāo)識符有兩種,一種是規(guī)則標(biāo)識符,另一種是引用標(biāo)識符。規(guī)則標(biāo)識符是由字母或下劃線開頭,可以由字母、下劃線、數(shù)字字符、點字符等構(gòu)成的字符序列,例如source、_source、s1、s.1等都是合法的M語言規(guī)則標(biāo)識符。引用標(biāo)識符以“#”開頭,后跟使用雙引號作為定界符括起來的可以由任意UNICODE字符所構(gòu)成的字符序列,例如#”源”、#”2019Sales”等都是合法的M語言引用標(biāo)識符。94.2.2M語言詞法5.關(guān)鍵字關(guān)鍵字就是被M語言賦予特殊含義,不能用來作為自定義對象名字的標(biāo)識符,主要用于表示M語言中的數(shù)據(jù)類型、數(shù)據(jù)類型構(gòu)造函數(shù)、運算符、控制結(jié)構(gòu)等。104.2.3M語言數(shù)據(jù)類型學(xué)習(xí)M語言的數(shù)據(jù)類型主要是希望為學(xué)習(xí)者帶來以下好處:對于獲取的數(shù)據(jù)在POWERQUERY中的表示有進(jìn)一步深刻的理解,從而能夠建立所看到的數(shù)據(jù)可視化形式與其內(nèi)部數(shù)據(jù)類型之間的聯(lián)系;現(xiàn)實世界中的數(shù)據(jù)往往形式比較復(fù)雜,對數(shù)據(jù)類型的理解可以幫助通過數(shù)據(jù)類型之間的轉(zhuǎn)換將數(shù)據(jù)轉(zhuǎn)換為有利于進(jìn)一步處理和最終進(jìn)行分析的形式;對于數(shù)據(jù)的數(shù)據(jù)類型的理解可以讓學(xué)習(xí)者明白可以在這些數(shù)據(jù)之上進(jìn)行的運算,從而有利于對數(shù)據(jù)處理思路的啟發(fā);有利于學(xué)習(xí)者理解M語言庫函數(shù)中參數(shù)和返回值類型的含義,從而快速的學(xué)習(xí)和掌握自身數(shù)據(jù)處理相關(guān)的庫函數(shù);對記錄、列表和表格等復(fù)雜數(shù)據(jù)類型的掌握,有利于從細(xì)節(jié)理解M語言中在無顯式循環(huán)結(jié)構(gòu)的條件下如何實現(xiàn)對數(shù)據(jù)集合的處理的。114.2.3M語言數(shù)據(jù)類型M語言中的數(shù)據(jù)類型可以分為原子類數(shù)據(jù)類型、集合類數(shù)據(jù)類型和特殊數(shù)據(jù)類型三大類。1.原子類數(shù)據(jù)類型原子數(shù)據(jù)類型主要用于描述等待處理和分析的數(shù)據(jù)集中的一個數(shù)據(jù)值,通常用于表示現(xiàn)實世界中一個對象的一個具體屬性的值,例如某人的姓名、年齡、出生日期、性別等信息。我們對于原子類數(shù)據(jù)類型的掌握和理解有助于幫助我們掌握對于數(shù)據(jù)集合中具體某個屬性值的處理。M語言中的原子類數(shù)據(jù)類型包括邏輯類型、數(shù)值類型、時間類型、日期類型、日期時間類型、時區(qū)類型、持續(xù)時間類型、文本類型和二進(jìn)制類型等。124.2.3M語言數(shù)據(jù)類型——原子類數(shù)據(jù)類型(1)邏輯類型M語言中邏輯類型的類型名是logical,用于表達(dá)邏輯運算的結(jié)果,邏輯類型的值只有true和false兩種,分別表示真和假。(2)數(shù)值類型M語言中數(shù)值類型的類型名是number,用于表達(dá)數(shù)值類型的數(shù)據(jù),包括整數(shù)和實數(shù)Number類型值解釋123整型數(shù)據(jù),十進(jìn)制形式-1.23實型數(shù)據(jù)1.23e2指數(shù)形式的實型數(shù)據(jù),表示1.23ⅹ1020xff整形數(shù)據(jù),十六進(jìn)制形式#infinity正無窮-#infinity負(fù)無窮#nanNot-a-Number,不是數(shù)值,因為除以0等錯誤運算而產(chǎn)生134.2.3M語言數(shù)據(jù)類型——原子類數(shù)據(jù)類型(3)時間類型M語言中時間類型的類型名是time,用于表達(dá)由小時、分鐘和秒3個分量綜合而成的以24小時計的一天中某個時刻的數(shù)據(jù)。Time類型數(shù)據(jù)可以由#time(hour,minute,second)M語言構(gòu)造函數(shù)來生成,例如#time(15,30,00),表示15:30:00。Time本質(zhì)上是記錄的自午夜零時以來以100納秒為一個滴答單位流逝的滴答計數(shù)。(4)日期類型M語言中日期類型的類型名是date,用于表達(dá)由年、月和日3個分量綜合而成的具體某天的數(shù)據(jù)。date類型數(shù)據(jù)可以由#date(year,month,day)M語言構(gòu)造函數(shù)來生成,例如#date(2020,1,25),表示2020年1月25日。date本質(zhì)上是記錄的是自公元1年1月1日以來流逝的天數(shù),最大值是公元9999年12月31日。144.2.3M語言數(shù)據(jù)類型——原子類數(shù)據(jù)類型(5)日期時間類型M語言中日期類型的類型名是datetime,用于表達(dá)由年、月、日、時、分、秒6個分量綜合而成的以當(dāng)前時區(qū)為準(zhǔn)的某個具體時刻的數(shù)據(jù)。datetime類型數(shù)據(jù)可以由#datetime(year,month,day,hour,minute,second)M語言構(gòu)造函數(shù)來生成,例如#date(2020,1,25,15,30,00),表示2020-1-2515:30:00。(6)時區(qū)日期時間類型M語言中時區(qū)日期類型的類型名是datetimezone,用于表達(dá)由年、月、日、時、分、秒、小時偏移量和秒偏移量8個分量綜合而成的在某個時區(qū)中的具體時刻的數(shù)據(jù),具體的時區(qū)由離世界標(biāo)準(zhǔn)時間UTC時間的小時和秒偏移量表達(dá)。datetimezone類型數(shù)據(jù)可以由#datetimezone(year,month,day,hour,minute,second,offset-hours,offset-minutes)M語言構(gòu)造函數(shù)來生成,例如#date(2020,1,25,15,30,00,8,0),表示與UTC時差8小時的2020-1-2515:30:00,實際上即北京時間2020-1-2515:30:00。154.2.3M語言數(shù)據(jù)類型——原子類數(shù)據(jù)類型(7)持續(xù)時間數(shù)據(jù)類型M語言中時長類型的類型名是duration,用于表示由日、時、分、秒4個分量綜合而成的在兩個具體時間之間時長的數(shù)據(jù)。Duration類型數(shù)據(jù)可以由#duration(day,hour,minute,second)M語言構(gòu)造函數(shù)來生成,每個分量都可正可負(fù),如果時正值表示往后流逝的時間,負(fù)值表示往前回溯的時間。例如#duration(0,1,30,0)表示往后流逝的1小時30分鐘時長,#duration(-1,0,0,0)表示往前回溯的1天時長。(8)文本數(shù)據(jù)類型M語言中時長類型的類型名是text,用于表示由Unicode字符構(gòu)成文本數(shù)據(jù)。text類型數(shù)據(jù)使用雙引號作為定界符,例如”Nanjinguniversity”。(9)二進(jìn)制類型數(shù)據(jù)M語言中二進(jìn)制類型數(shù)據(jù)的類型名是binary,用于表示一個二進(jìn)制字節(jié)序列構(gòu)成的數(shù)據(jù),這些數(shù)據(jù)的含義由具體的應(yīng)用解釋,例如可以是圖像的像素信息,或者音頻的數(shù)據(jù)等。Binary類型的數(shù)據(jù)可以由#binary()構(gòu)造函數(shù)來生成,例如#binary({0xa1,0xff,0x8c,0xe9})。164.2.3M語言數(shù)據(jù)類型2.集合類數(shù)據(jù)類型集合數(shù)據(jù)類型用于表示若干個數(shù)據(jù)構(gòu)成的集合,這里的數(shù)據(jù)可以是前述的原子類型的數(shù)據(jù),也可以是集合類型的數(shù)據(jù)。M語言中的集合類數(shù)據(jù)類型包括列表類型、記錄類型和表格類型等。174.2.3M語言數(shù)據(jù)類型——集合類數(shù)據(jù)類型(1)列表數(shù)據(jù)類型列表類型用于表示有限個數(shù)據(jù)元素的集合,M語言中結(jié)構(gòu)類型的類型名為list。M語言語法上規(guī)定列表是由一對花括號作為定界符括起來的若干個數(shù)據(jù)元素,數(shù)據(jù)元素之間使用逗號作為分隔符。列表中的元素的值的類型可以相同,也可以不同;可以是原子類型的值,例如數(shù)值型、文本型等,也可以是集合類型的值,即列表的元素又可以是一個列表,列表示例解釋{1,2,3}數(shù)值型列表{“red”,”blue”,”green”}文本型列表{1,”red”,true}由不同類型數(shù)據(jù)元素構(gòu)成的列表{{1,2,3},{“red”,”blue”,”green”}}列表的列表184.2.3M語言數(shù)據(jù)類型——集合類數(shù)據(jù)類型(2)記錄數(shù)據(jù)類型列表類型用于表示有名字的有限個數(shù)據(jù)元素的集合,M語言中結(jié)構(gòu)類型的類型名為record。M語言語法上規(guī)定記錄是由一對方括號作為定界符括起來的若干個名稱值對數(shù)據(jù)元素,名稱值對之間使用逗號作為分隔符;名稱是用戶自定義標(biāo)識符,表示記錄元素的名字,通過“=”將值賦予相應(yīng)的名字;在定義記錄元素的過程中,后續(xù)元素的值可以通過前面元素的值計算得到。194.2.3M語言數(shù)據(jù)類型——集合類數(shù)據(jù)類型(3)表格數(shù)據(jù)類型表格數(shù)據(jù)類型用于表示由行和列構(gòu)成的數(shù)據(jù)集合,M語言中的表格類型名是table。M語言語法規(guī)定表格數(shù)據(jù)由#table構(gòu)造函數(shù)加上由表格結(jié)構(gòu)類型定義和表格數(shù)據(jù)構(gòu)成的列表確定,表格的結(jié)構(gòu)類型定義主要定義表格的結(jié)構(gòu),即每列的列名和類型。根據(jù)列的類型的確定方式,可以將表格對象分成隱式字段表和顯式字段表。204.2.3M語言數(shù)據(jù)類型——集合類數(shù)據(jù)類型隱式字段表的定義中表格的結(jié)構(gòu)部分由字段名構(gòu)成的列表說明,而每個字段的類型根據(jù)每列的數(shù)據(jù)值由POWERBI自動確定。214.2.3M語言數(shù)據(jù)類型——集合類數(shù)據(jù)類型顯式字段表明確給出每一列的列名和數(shù)據(jù)類型。224.2.3M語言數(shù)據(jù)類型——特殊的值和特殊的數(shù)據(jù)類型特殊的值和特殊數(shù)據(jù)類型主要是M語言為了方便應(yīng)對數(shù)據(jù)的處理的特殊情況和方便進(jìn)行數(shù)據(jù)處理而設(shè)置的。null表示空值。特殊的數(shù)據(jù)類型包括任意數(shù)據(jù)類型和可空數(shù)據(jù)類型等。任意類型:M語言引入任意類型any的目的主要是一種抽象方式,任何值都可以和any類型兼容,主要用于表示函數(shù)的參數(shù)的數(shù)據(jù)類型??煽諗?shù)據(jù)類型:M語言引入任意類型nullable的主要目的是將任何一種數(shù)據(jù)類型擴(kuò)展為可以接受空值null的數(shù)據(jù)類型,即假設(shè)T是一種數(shù)據(jù)類型,則nullableT表示即可以接受T類型數(shù)據(jù),也可以為null值的數(shù)據(jù)類型。234.2.4.M語言運算符M語言提供了豐富的運算符來處理各種類型的數(shù)據(jù),與數(shù)據(jù)訪問有關(guān)的主運算符算術(shù)運算符關(guān)系運算符邏輯運算符類型判斷運算符244.2.4.M語言運算符1. 元素訪問運算符{}運算符{}的語法形式如x{y}所示,其中x是列表或表格數(shù)據(jù),y是基于0為起始值的下標(biāo),用于提取列表或表格中指定下標(biāo)的元素,如果配合“?”可以實現(xiàn)容錯。下面是通過下標(biāo)訪問列表元素的示例。{“zhang”,”wang”,”li”}{1}返回列表中下標(biāo)為1的元素”wang”;{“zhang”,”wang”,”li”}{3}導(dǎo)致錯誤,因為不存在下標(biāo)為3的元素;{“zhang”,”wang”,”li”}{3}?返回null,通過?實現(xiàn)容錯,當(dāng)不存在指定的元素時,返回空值null。254.2.4.M語言運算符2. 字段訪問運算符[]運算符[]的第一種語法形式如x[y]所示,其中x是一個記錄,y是一個屬性名,此時根據(jù)屬性名y從記錄x中選擇對應(yīng)的值。例如[NAME=”zhang”,SALARY=8000][SALARY]得到8000。運算符[]的第二種語法形式如x[[y1],[y2],…]所示,其中x是一個記錄或表格,y1、y2等是屬性名,此時根據(jù)給定的屬性名進(jìn)行投影,從記錄和表格x中返回具有更少屬性的一個記錄或表格,下面是一些示例。[NAME=”zhang”,SALARY=8000][[SALARY]]得到[SALARY=8000];[NAME=”zhang”,AGE=25,SALARY=8000][[NAME],[SALARY]]得到[NAME=”zhang”,SALARY=8000];264.2.4.M語言運算符3.算術(shù)運算符對于數(shù)值類型的數(shù)據(jù)應(yīng)用算術(shù)運算符和其他語言類似算術(shù)運算符也可以應(yīng)用于日期類型、時間類型、日期時間類型和持續(xù)時間類型的數(shù)據(jù)。兩個持續(xù)時間類型可以進(jìn)行加法和減法,結(jié)果得到一個持續(xù)時間類型數(shù)據(jù),例如#duration(0,1,5,0)+#duration(0,1,10,0)得到#duration(0,2,15,0)一個日期類型、時間類型、日期時間類型數(shù)據(jù)可以和一個持續(xù)時間類型數(shù)據(jù)進(jìn)行加法或減法,例如#date(2020,1,1)+#duration(5,0,0,0)得到#datetime(2020,1,6,0,0,0)#time(18,0,0)+#duration(3,2,0,0)得到#time(20,0,0)274.2.4.M語言運算符3.算術(shù)運算符兩個日期類型、時間類型、日期時間類型數(shù)據(jù)相減,可以得到一個持續(xù)時間類型數(shù)據(jù),例如#date(2020,1,31)-#date(2010,1,20)得到#duration(11,0,0,0)兩個持續(xù)時間類型數(shù)據(jù)可以做除法,得到兩者的比率關(guān)系,也可以使用一個持續(xù)時間類型數(shù)據(jù)和一個數(shù)值型數(shù)據(jù)做乘法或除法,結(jié)果得到一個持續(xù)事件類型數(shù)據(jù),例如#duration(8,0,0,0)/#duration(4,0,0,0)得到2#duration(1,0,0,0)/12得到#duration(0,2,0,0)284.2.4.M語言運算符4. 連接和合并運算符&連接和合并運算符&可以用于合并兩個相同類型的數(shù)據(jù),支持的數(shù)據(jù)類型包括文本類型、日期類型、列表類型、記錄類型和表格類型。下面是一些示例?!癗anjing”&“university”得到”Nanjinguniversity”;{1,2}&{3}得到{1,2,3};[NAME=”zhang”]&[SALARY=8000]得到[NAME=”zhang”,SALARY=8000];#date(2020,1,8)&#time(08,30,00)得到#datetime(2020,1,8,08,30,00)。294.2.4.M語言運算符5. 類型運算符is和as類型兼容性運算符is的語法形式如xisy,如果值x的類型和類型y兼容,則表達(dá)式求值結(jié)果為true,否則為false。類型斷言運算符as的語法形式如xasy,如果值x的類型與類型y兼容,則求值結(jié)果為x自身,否則會觸發(fā)一個錯誤。下面是一些示例。8000isnumber求值結(jié)果為true8000islist求值結(jié)果為false8000asnumber求值結(jié)果為80008000aslist導(dǎo)致一個錯誤304.2.4.M語言運算符優(yōu)先級·運算符類別優(yōu)先級運算符及相關(guān)表達(dá)式解釋主運算符1i,@i標(biāo)識符名引用對象表達(dá)式(x)圓括號表達(dá)式x[i]查詢x{y}元素訪問f(…)函數(shù)調(diào)用表達(dá)式{x,y,…}列表構(gòu)造[name=value,…]記錄構(gòu)造單目運算符2+x,-x單目加減(正負(fù)號)notx邏輯非元數(shù)據(jù)運算符3xmetay關(guān)聯(lián)元數(shù)據(jù)雙目算術(shù)乘除運算符4X*y,x/y雙目乘法、雙目除法雙目加減運算符5x+y,x-y雙目加和雙目減法關(guān)系運算6x<y,x>y,x<=y,x>=y小于、大于、小于等于、大于等于相等關(guān)系7x=y,x<>y等于和不等于關(guān)系運算類型斷言8xasy類型兼容性判斷類型一致性9xisy

邏輯與10xandy邏輯與運算邏輯或運算11xory邏輯或運算314.2.5M語言表達(dá)式M語言作為一個公式語言,其基本語法單位是表達(dá)式,每個表達(dá)式計算結(jié)果會得到一個值。每個單獨的值可以看作一個表達(dá)式運算符及其操作數(shù)按照M語言語法構(gòu)成一個表達(dá)式用于表達(dá)控制結(jié)構(gòu)的if構(gòu)造也是表達(dá)式函數(shù)定義和函數(shù)調(diào)用也是表達(dá)式程序的總體結(jié)構(gòu)let…in…也是一個表達(dá)式。因此M語言的執(zhí)行是通過按照給定的順序逐步進(jìn)行表達(dá)式求值實現(xiàn)的。324.2.6M語言程序控制結(jié)構(gòu)條件分支控制條件分支控制結(jié)構(gòu)用于表達(dá)根據(jù)一個條件是否成立采取不同的處理的情況。M語言中的的條件分支控制結(jié)構(gòu)是通過if表達(dá)式實現(xiàn)的。if表達(dá)式的語法如下所示:If條件then為真分支表達(dá)式else為假分支表達(dá)式If表達(dá)式的求值規(guī)則是,如果“條件”為真,則if表達(dá)式的值是“為真分支表達(dá)式”求值的結(jié)果,否則的話,if表達(dá)式的值是“為假分支表達(dá)式”求值的結(jié)果。例如if8000>5000then8000else5000的求值結(jié)果為8000334.2.6M語言程序控制結(jié)構(gòu)循環(huán)結(jié)構(gòu)通常用于表達(dá)在循環(huán)條件為真的情況下重復(fù)進(jìn)行循環(huán)體計算,從而實現(xiàn)問題求解的方法。M語言沒有直接的循環(huán)控制結(jié)構(gòu),通過集合類型數(shù)據(jù)相關(guān)的庫函數(shù)來實現(xiàn)對集合中每個數(shù)據(jù)元素的遍歷,在遍歷過程中還可以指定對每個元素的處理函數(shù)。letsource={1..5},s2=List.Transform(source,(x)=>x+10)ins2344.2.6M語言程序控制結(jié)構(gòu)循環(huán)處理中的each和“_”語法糖的形式,each表示對每個元素都需要進(jìn)行的處理,而“_”表示當(dāng)前元素的值。例如,下面兩個表達(dá)式的效果是等價的。s2=List.Transform(source,(x)=>x+10)s2=List.Transform(source,each_+10)上面_+10表示使用當(dāng)前元素的值+10的值來替換當(dāng)前元素的值,而each表示這個處理被定義成為一個針對每個集合元素的函數(shù)。354.2.7M語言函數(shù)當(dāng)一個數(shù)據(jù)處理功能需要多次使用時,可以將其定義為一個函數(shù)。M語言中的函數(shù)定義是通過表達(dá)式實現(xiàn)的,在完成函數(shù)定義后,對函數(shù)的調(diào)用也是一個表達(dá)式。M語言的函數(shù)定義表達(dá)式語法如下:(可選的形參列表)可選的函數(shù)返回類型=>函數(shù)體其中形參列表給出了函數(shù)所需的參數(shù)形式,如果一個函數(shù)不需要參數(shù),則形參列表可以為空,但是圓括號不可省略;函數(shù)返回值類型函數(shù)調(diào)用返回的數(shù)據(jù)的類型,如果省略的話,則由函數(shù)體中返回的數(shù)據(jù)的類型推導(dǎo)得到;函數(shù)體是一個表達(dá)式,定義了函數(shù)如何計算得到最終的結(jié)果。實際使用時,為了進(jìn)行函數(shù)調(diào)用,需要給函數(shù)起一個名字,這時仍然使用表達(dá)式的形式實現(xiàn)函數(shù)命名,即將函數(shù)定義表達(dá)式賦值給一個標(biāo)識符。364.2.7M語言函數(shù)M語言函數(shù)定義案例letget_list=(startasnumber,endasnumber)=>{start..end},result=get_list(1,100)inresult

374.3M語言的庫函數(shù)介紹M語言提供了700多個的庫函數(shù)來幫助數(shù)據(jù)處理,覆蓋了數(shù)據(jù)獲取、各種不同數(shù)據(jù)類型的數(shù)據(jù)的處理、類型處理、錯誤處理等功能。有關(guān)M語言庫函數(shù)的具體幫助,可以參見微軟M語言的官方文檔主頁:/en-us/powerquery-m/384.3M語言的庫函數(shù)介紹學(xué)習(xí)M語言庫函數(shù)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論