Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Запрос Power Query "Из папки" - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Запрос Power Query "Из папки"
Viper25 Дата: Понедельник, 19.09.2016, 17:51 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 4 ±
Замечаний: 20% ±

Excel 2007
Есть два файла.
При настройке запроса Power Query на эти файлы "Из папки" запрос не формируется.

DataFormat.Error: Входные данные не удалось распознать как допустимый документ Excel.
Подробные сведения:
Binary

По отдельности запрос на файлики формируется нормально.
Файлы не могу приложить из-за их размера.
В чем может быть проблема?
 
Ответить
СообщениеЕсть два файла.
При настройке запроса Power Query на эти файлы "Из папки" запрос не формируется.

DataFormat.Error: Входные данные не удалось распознать как допустимый документ Excel.
Подробные сведения:
Binary

По отдельности запрос на файлики формируется нормально.
Файлы не могу приложить из-за их размера.
В чем может быть проблема?

Автор - Viper25
Дата добавления - 19.09.2016 в 17:51
Szekerfehesvar Дата: Понедельник, 19.09.2016, 21:23 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 6 ±
Замечаний: 20% ±

Excel 2013
может быть попробуете все таки удалить например из файлов все кроме 1-2 строк или еще как то(архивом например) приложить файл...на данный момент не очень понятно, что там не так
 
Ответить
Сообщениеможет быть попробуете все таки удалить например из файлов все кроме 1-2 строк или еще как то(архивом например) приложить файл...на данный момент не очень понятно, что там не так

Автор - Szekerfehesvar
Дата добавления - 19.09.2016 в 21:23
krosav4ig Дата: Понедельник, 19.09.2016, 23:45 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Viper25, возможно у файлов разная структура (количество листов, их названия)
попробуйте такой запрос
[vba]
Код
let
    Папка = Folder.Files("C:\folder"),   
    Файлы = Table.SelectRows(
                Папка,
                each
                    Text.StartsWith(_[Extension], ".xls") and
                    not Text.StartsWith(_[Name], "~")
            ),
    Книги = Table.CombineColumns(
                Table.SelectColumns(
                    Table.AddColumn(
                        Файлы,
                        "Workbook",  
                        each
                            Table.SelectRows(
                    Excel.Workbook([Content]),
                    each
                    _[Kind] = "Sheet"
                            )
                    ),
                    {"Name", "Folder Path", "Workbook"}
                ),
                {"Folder Path", "Name"},
                Combiner.CombineTextByDelimiter(
                    "",
                    QuoteStyle.None
                ),
                "File Path"
            ),
    Листы = Table.ExpandTableColumn(
                Книги,
                "Workbook",
                {"Name", "Data", "Hidden"}
            )
in
    Листы
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 20.09.2016, 01:15
 
Ответить
СообщениеViper25, возможно у файлов разная структура (количество листов, их названия)
попробуйте такой запрос
[vba]
Код
let
    Папка = Folder.Files("C:\folder"),   
    Файлы = Table.SelectRows(
                Папка,
                each
                    Text.StartsWith(_[Extension], ".xls") and
                    not Text.StartsWith(_[Name], "~")
            ),
    Книги = Table.CombineColumns(
                Table.SelectColumns(
                    Table.AddColumn(
                        Файлы,
                        "Workbook",  
                        each
                            Table.SelectRows(
                    Excel.Workbook([Content]),
                    each
                    _[Kind] = "Sheet"
                            )
                    ),
                    {"Name", "Folder Path", "Workbook"}
                ),
                {"Folder Path", "Name"},
                Combiner.CombineTextByDelimiter(
                    "",
                    QuoteStyle.None
                ),
                "File Path"
            ),
    Листы = Table.ExpandTableColumn(
                Книги,
                "Workbook",
                {"Name", "Data", "Hidden"}
            )
in
    Листы
[/vba]

Автор - krosav4ig
Дата добавления - 19.09.2016 в 23:45
Viper25 Дата: Вторник, 20.09.2016, 12:42 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 4 ±
Замечаний: 20% ±

Excel 2007
Удалось уменьшить файлы.
К сообщению приложен файл: 1559015.xlsx (20.2 Kb) · 8641334.xlsx (21.4 Kb)


Сообщение отредактировал Viper25 - Вторник, 20.09.2016, 14:19
 
Ответить
СообщениеУдалось уменьшить файлы.

Автор - Viper25
Дата добавления - 20.09.2016 в 12:42
Viper25 Дата: Вторник, 20.09.2016, 15:28 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 4 ±
Замечаний: 20% ±

Excel 2007
krosav4ig, структура файлов одинакова, т.к. создавались путем копирования исходника.
 
Ответить
Сообщениеkrosav4ig, структура файлов одинакова, т.к. создавались путем копирования исходника.

Автор - Viper25
Дата добавления - 20.09.2016 в 15:28
krosav4ig Дата: Четверг, 22.09.2016, 03:43 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
пробуйте такой вариант
путь к папке для запроса берется из A1, при выделении этой ячейки открывается диалог для выбора папки
Если в папке будут файлы .xls, запрос выдаст ошибку
К сообщению приложен файл: 3077594.xlsm (31.3 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 22.09.2016, 04:01
 
Ответить
Сообщениепробуйте такой вариант
путь к папке для запроса берется из A1, при выделении этой ячейки открывается диалог для выбора папки
Если в папке будут файлы .xls, запрос выдаст ошибку

Автор - krosav4ig
Дата добавления - 22.09.2016 в 03:43
Viper25 Дата: Четверг, 22.09.2016, 09:55 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 4 ±
Замечаний: 20% ±

Excel 2007
Хоть головой об стену.
Не формируется запрос "Из папки" на эти два файла.
Не могу понять что с ними.
ХЕЛП!!!
К сообщению приложен файл: 0488625.xlsx (21.1 Kb) · 0901946.xlsx (21.1 Kb)


Сообщение отредактировал Viper25 - Четверг, 22.09.2016, 14:42
 
Ответить
СообщениеХоть головой об стену.
Не формируется запрос "Из папки" на эти два файла.
Не могу понять что с ними.
ХЕЛП!!!

Автор - Viper25
Дата добавления - 22.09.2016 в 09:55
krosav4ig Дата: Четверг, 22.09.2016, 14:37 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Viper25, дело в том, что XLSX - это по сути архив, содержащий определенный набор xml файлов
PQ функция [vba]
Код
Binary.Combine
[/vba] (она выполняется при нажатии на кнопочку с двумя стрелками вниз) не может корректно обработать данный тип файлов, и из-за этого на следующем шаге [vba]
Код
Excel.Workbook(#"Комбинированные двоичные значения")
[/vba] вываливается ошибка
Да и при формате xls не будет корректного результата
Мой файл из предыдущего поста пробовали?


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 22.09.2016, 14:42
 
Ответить
СообщениеViper25, дело в том, что XLSX - это по сути архив, содержащий определенный набор xml файлов
PQ функция [vba]
Код
Binary.Combine
[/vba] (она выполняется при нажатии на кнопочку с двумя стрелками вниз) не может корректно обработать данный тип файлов, и из-за этого на следующем шаге [vba]
Код
Excel.Workbook(#"Комбинированные двоичные значения")
[/vba] вываливается ошибка
Да и при формате xls не будет корректного результата
Мой файл из предыдущего поста пробовали?

Автор - krosav4ig
Дата добавления - 22.09.2016 в 14:37
Viper25 Дата: Четверг, 22.09.2016, 14:44 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 4 ±
Замечаний: 20% ±

Excel 2007
krosav4ig, пробовал.
Но не понял как его создать.
 
Ответить
Сообщениеkrosav4ig, пробовал.
Но не понял как его создать.

Автор - Viper25
Дата добавления - 22.09.2016 в 14:44
Viper25 Дата: Четверг, 22.09.2016, 14:57 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 4 ±
Замечаний: 20% ±

Excel 2007
путь к папке для запроса берется из A1

Как Вы это сделали?
Не могу понять почему при стандартном создании запроса "Из папки" выдается ошибка, а в Вашем запросе, что фактически тоже "Из папки", ошибки нет.


Сообщение отредактировал Viper25 - Четверг, 22.09.2016, 15:51
 
Ответить
Сообщение
путь к папке для запроса берется из A1

Как Вы это сделали?
Не могу понять почему при стандартном создании запроса "Из папки" выдается ошибка, а в Вашем запросе, что фактически тоже "Из папки", ошибки нет.

Автор - Viper25
Дата добавления - 22.09.2016 в 14:57
pupkin-terkin Дата: Вторник, 27.12.2016, 16:41 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Столкнулся с тем же вопросом (поисковик выдаёт эту тему) - насколько я понял всё дело в том что это путь для добавления txt или csv файлов. При добавлении файлов Excel надо в явном виде указать что импортируемые файлы имеют эту структуру.
Вместо колонки "binary" надо добавить пользовательский столбец с формулой
Код
=Excel.Workbook([Content])


Вот тут ещё пример (выходящий за рамки вопроса) с картинками:
http://www.poweredsolutions.co/2014....y-way-2


Сообщение отредактировал pupkin-terkin - Вторник, 27.12.2016, 16:42
 
Ответить
СообщениеСтолкнулся с тем же вопросом (поисковик выдаёт эту тему) - насколько я понял всё дело в том что это путь для добавления txt или csv файлов. При добавлении файлов Excel надо в явном виде указать что импортируемые файлы имеют эту структуру.
Вместо колонки "binary" надо добавить пользовательский столбец с формулой
Код
=Excel.Workbook([Content])


Вот тут ещё пример (выходящий за рамки вопроса) с картинками:
http://www.poweredsolutions.co/2014....y-way-2

Автор - pupkin-terkin
Дата добавления - 27.12.2016 в 16:41
telnoff Дата: Вторник, 12.11.2019, 14:27 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Viper25, запоздалый ответ, но пусть он будет тут.
Все дело в том что когда ты указываешь папку откуда нужно взять файлы эксель, то он забирает все файлы. При этом в некторый момент, могут создавать временные файлы в этой же папке (например открыт какой то файл). И запрос автоматом забирает себе в перечень файлов и этот временный файл. Скорее всего там создавался временный файл экселя, начинается наименование файла с ~. И ввиду такого названия он автоматически становился первым в списке. Т.е. тебе нужно отфильтровать таблицу с перечнем файлов до того как эти файлы начнут считываться. Делается это в расширенном редакторе.
В Power Bi есть кое какая хитрая система вспомогательных запросов, ты о них не знаешь, но они создаются автоматически и в ходе работы ссылаются на них, так вот этот автоматический запрос также придется редактировать и ставить дополнительный фильтр на исключение временных файлов.
 
Ответить
СообщениеViper25, запоздалый ответ, но пусть он будет тут.
Все дело в том что когда ты указываешь папку откуда нужно взять файлы эксель, то он забирает все файлы. При этом в некторый момент, могут создавать временные файлы в этой же папке (например открыт какой то файл). И запрос автоматом забирает себе в перечень файлов и этот временный файл. Скорее всего там создавался временный файл экселя, начинается наименование файла с ~. И ввиду такого названия он автоматически становился первым в списке. Т.е. тебе нужно отфильтровать таблицу с перечнем файлов до того как эти файлы начнут считываться. Делается это в расширенном редакторе.
В Power Bi есть кое какая хитрая система вспомогательных запросов, ты о них не знаешь, но они создаются автоматически и в ходе работы ссылаются на них, так вот этот автоматический запрос также придется редактировать и ставить дополнительный фильтр на исключение временных файлов.

Автор - telnoff
Дата добавления - 12.11.2019 в 14:27
Max_828898 Дата: Вторник, 06.04.2021, 08:17 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

Здравствуйте!
Помогите с такой проблемой, при создании запроса из папки, не выводит окно с навигатором, при этом загружает только один файл, т.е. в дальнейшем нет возможности соединить данные всех файлов в одну таблицу. Данный компьютер корпоративный и что либо самостоятельно переустановить невозможно. На домашнем экспериментировал, все получается. Офис установлен на корпоративном и домашнем 2016. При обращении к ИТ специалистам, говорят что Power Qwery установлен корректно, нужно где то отжать какую-нибудь галочку, но при это они не компетентны в данной программе. Где находится эта галочка или как сделать настройку, что бы выдавало окно Навигатор?
К сообщению приложен файл: 0934517.xls (365.5 Kb)
 
Ответить
СообщениеЗдравствуйте!
Помогите с такой проблемой, при создании запроса из папки, не выводит окно с навигатором, при этом загружает только один файл, т.е. в дальнейшем нет возможности соединить данные всех файлов в одну таблицу. Данный компьютер корпоративный и что либо самостоятельно переустановить невозможно. На домашнем экспериментировал, все получается. Офис установлен на корпоративном и домашнем 2016. При обращении к ИТ специалистам, говорят что Power Qwery установлен корректно, нужно где то отжать какую-нибудь галочку, но при это они не компетентны в данной программе. Где находится эта галочка или как сделать настройку, что бы выдавало окно Навигатор?

Автор - Max_828898
Дата добавления - 06.04.2021 в 08:17
Pelena Дата: Вторник, 06.04.2021, 08:43 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
при этом загружает только один файл
на третьем скрине видно, что загружено 12 файлов

Где находится эта галочка
посмотрите в параметрах запроса (Создать запрос -- Параметры запроса)

И общая рекомендация: загрузите последние обновления. У меня, например, даже окно выбора папки выглядит по-другому


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
при этом загружает только один файл
на третьем скрине видно, что загружено 12 файлов

Где находится эта галочка
посмотрите в параметрах запроса (Создать запрос -- Параметры запроса)

И общая рекомендация: загрузите последние обновления. У меня, например, даже окно выбора папки выглядит по-другому

Автор - Pelena
Дата добавления - 06.04.2021 в 08:43
Max_828898 Дата: Вторник, 06.04.2021, 13:47 | Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

Создать запрос -- Параметры запроса

Перепробовал все варианты с галочками, без изменений.
Обновления поставить это целая проблема в нашей организации.
 
Ответить
Сообщение
Создать запрос -- Параметры запроса

Перепробовал все варианты с галочками, без изменений.
Обновления поставить это целая проблема в нашей организации.

Автор - Max_828898
Дата добавления - 06.04.2021 в 13:47
Pelena Дата: Вторник, 06.04.2021, 20:04 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
не выводит окно с навигатором
окно с навигатором можно вывести из редактора PQ, кликнув по кнопке

К сообщению приложен файл: 6478933.jpg (5.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
не выводит окно с навигатором
окно с навигатором можно вывести из редактора PQ, кликнув по кнопке


Автор - Pelena
Дата добавления - 06.04.2021 в 20:04
Sergey_R Дата: Пятница, 19.04.2024, 14:38 | Сообщение № 17
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

2019, 2021
telnoff, добрый день. Вопрос по фильтрации таблицы до того как файлы начнут считываться , по прежнему актуален.
Пробовал ставить фильтр на строки с именами файлов такого типа: "не начинается с ~" или "не начинается с $". В расширенном редакторе это преобразуется в такую строку:

#"Строки с примененным фильтром2" = Table.SelectRows(Источник, each not Text.StartsWith([Name], "~") or not Text.StartsWith([Name], "$")),

Не помогает. Применение фильтра по условию (не начинается на "~$") результат не дает. Возможно, фильтр работает только для тех файлов, которые видны в Источнике, а временные файлы, возможно, там не видны.. Поэтому если один из файлов в папке открыт кем то, то при обновлении запроса все равно возникает ошибка, что временный файл (~) "используется другим процессом".

Поковырялся денек и, кажется, разобрался. Все делал правильно, но не учел, что PQ сильно чувствителен к последовательности действий: сначала нужно данные загрузить, преобразовать, потом поставить необходимые фильтры на имена файлов, расширения (если требуется) и только потом объединять. В случае, если сначала файлы объединили, а уже потом пробуете установить фильтры или даже копировать готовый код в расширенный редактор - будет выдавать ошибку. Век живи - век учись.


Сообщение отредактировал Sergey_R - Пятница, 19.04.2024, 20:39
 
Ответить
Сообщениеtelnoff, добрый день. Вопрос по фильтрации таблицы до того как файлы начнут считываться , по прежнему актуален.
Пробовал ставить фильтр на строки с именами файлов такого типа: "не начинается с ~" или "не начинается с $". В расширенном редакторе это преобразуется в такую строку:

#"Строки с примененным фильтром2" = Table.SelectRows(Источник, each not Text.StartsWith([Name], "~") or not Text.StartsWith([Name], "$")),

Не помогает. Применение фильтра по условию (не начинается на "~$") результат не дает. Возможно, фильтр работает только для тех файлов, которые видны в Источнике, а временные файлы, возможно, там не видны.. Поэтому если один из файлов в папке открыт кем то, то при обновлении запроса все равно возникает ошибка, что временный файл (~) "используется другим процессом".

Поковырялся денек и, кажется, разобрался. Все делал правильно, но не учел, что PQ сильно чувствителен к последовательности действий: сначала нужно данные загрузить, преобразовать, потом поставить необходимые фильтры на имена файлов, расширения (если требуется) и только потом объединять. В случае, если сначала файлы объединили, а уже потом пробуете установить фильтры или даже копировать готовый код в расширенный редактор - будет выдавать ошибку. Век живи - век учись.

Автор - Sergey_R
Дата добавления - 19.04.2024 в 14:38
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!