Reputation:
I have more than 30 seperate .xls files similar to this:
.xls 1:
a 11 22 33 54
b 2 44 4 5
c 3 4 5 3
.xls 2
a 12 22 35 58
b 2 44 4 5
c 3 4 5 3
I want to transpose and merge them (possibly through Power Query?), so they look like this:
a b c
11 2 3
22 44 4
33 4 5
54 5 3
12 2 3
22 44 4
35 4 5
58 5 3
How do I make this? Thank you very much.
Upvotes: 0
Views: 1239
Reputation: 21413
Try below; assumes data is on Sheet1 Then filter out additional headers
let Source = Folder.Files("C:\directory\subdirectory"),
#"Filtered Rows" = Table.SelectRows(Source, each ([Extension] = ".xls")),
#"Pull Data" = Table.AddColumn(#"Filtered Rows", "Data", each Excel.Workbook([Content], null, true){[Item="Sheet1",Kind="Sheet"]}[Data]),
Invert = Table.TransformColumns(#"Pull Data", {{"Data", each Table.Transpose(_)}}),
#"Removed Columns" = Table.RemoveColumns(Invert,{"Content", "Name", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path"}),
MaxColumns = List.Max(List.Transform(#"Removed Columns"[Data], each Table.ColumnCount(_))),
#"Expanded Content" = Table.ExpandTableColumn(#"Removed Columns", "Data", List.Transform({1..MaxColumns}, each "Column" & Number.ToText(_))),
#"Promoted Headers" = Table.PromoteHeaders(#"Expanded Content", [PromoteAllScalars=true])
in #"Promoted Headers"
Upvotes: 0
Reputation: 5202
Try this.
Upvotes: 1