Как переместить несколько файлов xlsx (с несколькими вкладками в каждом файле) и объединить в Excel Power Query? - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть около 100+ файлов Excel, каждый с 6 или более вкладками.Формат каждой вкладки идентичен.Мне нужно объединить одну из таблиц («Требуется вкладка») из всех файлов с помощью Power Query, но мне нужно транспонировать каждую таблицу перед объединением.

Вот что я пробовал (последний «Инвертировать»)строка изменена с Как транспонировать несколько файлов .csv и объединить в силовой запрос Excel? ):

let
    Source = Folder.Files("Directory"),
    #"Added Custom" = Table.AddColumn(Source, "Custom", each Excel.Workbook([Content],true)),
    #"Removed Other Columns" = Table.SelectColumns(#"Added Custom",{"Custom", "Name"}),
    #"Expanded Custom" = Table.ExpandTableColumn(#"Removed Other Columns", "Custom", {"Name", "Data", "Item", "Kind", "Hidden"}, {"Name.1", "Data", "Item", "Kind", "Hidden"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded Custom", each ([Item] = "Tab Required")),
    #"Removed Other Columns1" = Table.SelectColumns(#"Filtered Rows",{"Data", "Name"}),
    #"Invert" = Table.TransformColumns(#"Removed Other Columns1", {{"Data", each Table.Transpose(xlsx.Document(_))}}),
MaxColumns = List.Max(List.Transform(#"Invert"[Data], each Table.ColumnCount(_))),
    #"Expanded Content" = Table.ExpandTableColumn(#"Invert", "Data", List.Transform({1..MaxColumns}, each "Column" & Number.ToText(_)))

in
    #"Expanded Content"

Но я столкнулся с сообщением об ошибке ниже:

Ошибка выражения: имя «xlsx.Document» не было распознано.Убедитесь, что оно написано правильно.

Кто-нибудь может помочь мне с этим?

1 Ответ

0 голосов
/ 20 сентября 2019
#"Invert" = Table.TransformColumns(#"Removed Other Columns1", {{"Data", each Table.Transpose(_)}})

или если вы хотите заголовки столбцов

#"Invert" = Table.TransformColumns(#"Removed Other Columns1", {{"Data", each Table.Transpose(Table.DemoteHeaders(_))}}),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...