Excel.CurrentWorkbook數據源(Power Query 之 M 語言)


數據源: 

       任意超級表

目標: 

       將超級表中的數據加載到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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM