Страницы: 1
RSS
Power Query. Как получить данные из запроса без выгрузки его на лист
 
Доброго времени суток, Планетяне!
Хочу получать данные из запроса PQ, не выгружая его в таблицу на лист. Подскажите, пожалуйста, как это сделать (кодом на VBA) на примере запроса "Запрос" со столбцами "Дата", "Имя" и "КОЛ-ВО".

Иными словами: как забрать в массив VBA данные (таблицу) из запроса Power Query, не выгружая его на лист (создать только соединение)?
Изменено: Jack Famous - 03.07.2018 13:46:48
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
А в чем проблема макросом выгрузить в таблицу - забрать её в массив и удалить таблицу? Если результат содержит больше миллиона строк то создать сводную - выгрузить результат запроса в кэш сводной - забрать его в массив и удалить кэш.
Лично я вижу это примерно так.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
в чем проблема макросом выгрузить в таблицу - забрать её в массив и удалить таблицу?
не знаю, как это сделать))
можно пример?)
Изменено: Jack Famous - 03.07.2018 12:40:49
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Вот здесь Андрей VG давал ссылку на методы работы с Power Query при помощи VBA.
Покопайтесь, может поможет.
Но подозреваю, что напрямую вы вряд ли сможете получить данные из запроса, только опосредованно через создание/удаление объектов, в которые запрос умеет сливать данные.
Изменено: PooHkrd - 03.07.2018 12:43:37
Вот горшок пустой, он предмет простой...
 
PooHkrd, спасибо! Попробую что-то вроде ThisWorkbook.Queries("Запрос").Copy
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
никак  :(
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous,
Через загрузку запроса PQ в модель данных не пробовали? И потом можно строить сводную таблицу.
 
Sertg, сводную из подключения к запросу (без выгрузки его на лист) строил, с занесением в модель данных тоже строил (дольше обновляется), но только сводная мне не нужна, т.к. это тоже своего рода "выгрузка" на лист.
Ищу способ забрать данные из запроса (после всех шагов) в массив внутри кода.
Изменено: Jack Famous - 03.07.2018 13:42:59
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous,Интересно, будет посмотреть.
 
Jack Famous, а в чем принципиальность такого подхода? Почему нельзя забрать и преобразовать те же данные из того же источника сразу макросом? Зачем здесь посредник?
Вот горшок пустой, он предмет простой...
 
PooHkrd, я снова не понимаю, про какой вы источник (подключение/запрос?) и каких посредников говорите… Прошу пример.

Дело в том, что сейчас мне приходится выгружать запросы на листы, что плодит "рабочие листы" (не страшно) и постоянно при обновлении перекидывает пользователя на листы с этими запросами (неприятно и неудобно обходить дополнительными макросами). Да думаю и пошустрее бы было как раз без "посредника" в виде таблицы на листе.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Зачем получать данные запросами, и потом извращаться при помощи VBA, если то же самое можно реализовать сразу макросами?
Или зачем нужно извращаться с VBA, если результат можно сразу получить при помощи запроса?
Я это имел ввиду.
Изменено: PooHkrd - 03.07.2018 14:31:17
Вот горшок пустой, он предмет простой...
 
PooHkrd, теперь понял)) целиком на макросах можно сделать — даже быстрее будет, но в связке с PQ просто удобнее.
Было бы здорово их подружить :)
Изменено: Jack Famous - 03.07.2018 14:37:56
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Доброе время суток.
Цитата
Jack Famous написал:
Было бы здорово их подружить
Не очень хорошо они дружат. Некий отчёт по моим попыткам дёргать Power Query запрос из VBA (Excel 2016).
 
Андрей VG, здравствуйте! Большое вам спасибо за проделанную работу! Отлегло  :D
буду макросы юзать и ждать, когда, наконец, "наладят связь" — надеюсь, что это вообще возможно.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Проблема все еще актуальна, подскажите пожалуйста нашлось ли решение? Напомню необходимо выгрузить данные из Power Query запроса например в ListBox
 
Slavik Sidorov, нету здесь решения, до выгрузки запроса на лист/в модель данных не существует. Поэтому сначала выгрузка, потом забирайте куда надо, потом удаляйте. Что именно напрягает в необходимости выгрузки? Ну, если совсем уж надо, то можно выгрузить результат запроса в csv, это в самом запросе. Но даже для этого итоговый шаг запроса должен выгружать хоть что-то на лист/модель. Иначе ничего не произойдет.
Изменено: PooHkrd - 02.06.2022 10:30:54
Вот горшок пустой, он предмет простой...
 
Цитата
написал:
Проблема все еще актуальна, подскажите пожалуйста нашлось ли решение? Напомню необходимо выгрузить данные из Power Query запроса например в ListBox
Если я правильно понял проблему, то можно кликнуть на запросе и выбрать "Загрузить в" и там выбрать "только создать подключение"
Страницы: 1
Наверх