Страницы: 1
RSS
Консолидация данных в PQ с помощью справочника с адресами файлов и названиями листов
 
Коллеги, добрый день! Возникла необходимость собирать данные с разных листов из разных файлов, хаотично разбросанных в сети. Ничего лучше не придумал, чем создать справочник с адресом к каждому файлу и список листов, которые нужны, благо ни имя файла ни его адрес не изменится. Данное решение будет работать на PQ. У меня возникла проблема с листами. Если файл 1 и лист 1 то все ок, но если файл один а листов несколько, то я не знаю как правильно передать имена листов для PQ, чтобы получить таблицу с этого листа. Можно конечно для каждого листа в таблице справочнике создавать отдельную строку, где адрес будет многократно повторяться для каждого листа, но ИМХО получится колхоз. Может быть вообще можно как то иначе все сделать. Подскажите пожалуйста.
 
Вот это вот все в итоге нужно друг под друга собрать? Данные об источнике нужны: из какого файла/листа какие строки в итоговый массив попали?
Вот горшок пустой, он предмет простой...
 
PooHkrd, Да, нужно просто собрать все в одну кучу с выбранных файлов, выбранных листов. Формат одинаковый. Пока писал, кажется, придумал как можно сделать. Столбец с именами листов разделить на строки и создать пользовательскую функцию, которая в качестве агрументов будет принимать адрес файла, имя листа и поднимать заголовки. В любом случае будут рад увидеть ваше решение.
 
Короче, на скорую руку вот так:
Код
let
    source= Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    addTable = Table.AddColumn(source, "table", each 
        let 
            f = Excel.Workbook( File.Contents([file]) ), 
            s = [sheet] 
        in 
            Table.SelectRows(f, each List.Contains(Text.Split( s, "; "), [Item] ) )[Data] ),
    combineTable = Table.Combine( List.Combine( addTable[table] ) )
in
    combineTable

Здесь будет не понятно какая строка откуда взялась, но это не сложно добавить. Не получится - обращайтесь.
Вот горшок пустой, он предмет простой...
 
PooHkrd, благодарю)
Страницы: 1
Наверх