數據源:
任意超級表
目標:
將超級表中的數據加載到Power Query編輯器中
操作過程:
選取超級表中任意單元格(選取普通表時會自動增加插入超級表的步驟)》數據》來自表格/區域
M公式:
= Excel.CurrentWorkbook(){[Name="超級表名"]}[Content]
擴展:
以二進制形式返回文件內容:= File.Contents("路徑\文件名.后綴名")
從工作簿:= Excel.Workbook(二進制Excel工作簿, 標題參數, 刷新參數)
二進制Excel工作簿可以嵌套File.Contents("路徑\文件名.xlsx")
標題參數
null / fasle / 缺省:在原表基礎上加上默認標題
true:第一行為標題
刷新參數
true:加載時刷新
false / 缺省:加載時不刷新
從CSV文件:= Csv.Document(二進制CSV文件,[Delimiter="指定分隔符", Encoding=文件原始格式代號])
從文件夾:
= Folder.Files("路徑")
= Folder.Contents("路徑")
從網頁
= Web.Contents("網址")
= Web.Page(二進制html文件)
二進制html文件可嵌套Web.Contents("網址")
從其他文件/數據庫:
= Access.Database(二進制Acceess數據庫)
= Json.Document(二進制Json文件)
= Pdf.Tables(二進制PDF文件)
= Xml.Tables(二進制Xml文件)
……
建構
表:數值到表
列表:數值到列表
記錄
= [記錄標題1=數據1,...,記錄標題n=數據n]
示例:
= [第1行=1, 第2行="A"]
記錄嵌套表/列表/記錄
= [記錄標題1=表1,...,記錄標題n=列表,...,記錄標題m=記錄]
示例:= [表= #table({"A","B"},{{"a1",1},{"b1",2}}),列表={1..9},記錄=[X="abc",Y=123]]
深化
表
= 表 {[標題名1="指定內容1",...,標題名n="指定內容n"]} [深化列標題]
= 表 {深化單元格所在行的行數} [深化列標題]
= 表 [[標題名1],...,[標題名n]]
使用第一個公式只要保證可展示唯一行即可,不需要列出所有標題
單深化列形成列表
單深化行形成記錄
示例:
深化第二列:= 表 [列 2]
深化第一行:= 表 {0}
深化第一行第二列的單元格(1):
= 表 [列 2] {0}
= 表 {0} [列 2]
深化第一列中為D的行對應第二列的單元格(4):
= 表 {[列 1="D"]} [列 2]
列表
= 列表 {深化單元格所在行的行數}
示例:
= {"A".."Z"} {0}
結果為A
記錄
= 記錄 [深化單元格所在行的標題]
示例:
= [a=1,b=2] [b]
結果為2