天天看點

多簿多表合并(Power Query)

問題:同一檔案夾内的多個工作簿,每個工作簿内工作表數量不定,需要合并到一個工作表裡。

注意:每個工作表标題均在第一行

示例工作簿在C槽下的資料源檔案夾中,每列标題分别為:日期、城市/地區、品名、類别、銷量、單價、銷售額

let
    源 = Folder.Files("C:\資料源"),
    重命名的列 = Table.RenameColumns(源,{{"Name", "工作簿名"}}),
    替換的值 = Table.ReplaceValue(重命名的列,".xlsx","",Replacer.ReplaceText,{"工作簿名"}),
    添加工作簿列 = Table.AddColumn(替換的值, "工作簿", each Excel.Workbook([Content],true)),
    展開工作簿 = Table.ExpandTableColumn(添加工作簿列, "工作簿", {"Name", "Data", "Kind"}, {"工作表名", "Data", "Kind"}),
    篩選的行 = Table.SelectRows(展開工作簿, each [Kind] = "Sheet"),
    删除的列 = Table.RemoveColumns(篩選的行,{"Kind","Content", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path"}),
    展開Data = Table.ExpandTableColumn(删除的列, "Data", {"日期", "城市/地區", "品名", "類别", "銷量", "單價", "銷售額"}),
    更改的類型 = Table.TransformColumnTypes(展開Data,{{"工作簿名", type text}, {"工作表名", type text}, {"日期", type date}, {"城市/地區", type text}, {"品名", type text}, {"類别", type text}, {"銷量", Int64.Type}, {"單價", type number}, {"銷售額", type number}})
in
    更改的類型      
多簿多表合并(Power Query)