Страницы: 1
RSS
Как установить последовательный порядок выполнения запросов Power Query, а не чтобы выполнялись параллельно?
 
В книге есть подключения на много таблиц в других книгах, включая в сети. Запросы собирают данные и строят таблицы-отчеты.
Если выполнять запросы последовательно, запуская вручную на каждом запросе "Обновить", - то все ОК. Но если нажать кнопку "Обновить все", то книга зависает или выдает ошибку памяти, либо неопределенная ошибка.

Можно ли в Power Query без применения специальных макросов указать порядок последовательного выполнения запросов, а не чтоб одновременно?
Если нет, то можно ли сделать например запрос, в котором указать порядок выполнения других запросов, - тогда я бы запускал только этот запрос, который бы выполнял все запросы в указанном последовательном порядке.

*Нашел на форуме много советов как упростить запросы или как преобразовать при ошибках, но как указать порядок последовательного выполнения запросов - не нашел. Вопрос не по определенной книге или ошибке, а общий независимо от файлов, потому не присоединяю файлы.
*Excel 2016 64бит (из последнего пакета Office 365), на компьютере Windows 10, оперативки 8, быстрый SSD-диск - все выполняется сравнительно быстро, надо только настроить порядок выполнения запросов. Причем порядок даже не важен, главное чтобы не одновременно выполнялись запросы.
Изменено: UAIOK - 21.10.2019 17:06:38
 
UAIOK, если речь именно про запросы, то они и так запускаются в той очередности, в которой они ссылаются друг на друга.
Если же вы выгружаете результаты запросов в таблицы, а потом другими запросами забираете данные из этих таблиц, то у меня есть только один вопрос: Зачем?
В случае если ваш ответ "Я так Хочу!" то такую задачу можно решить только при помощи макроса, которому на входе нужно задать порядок обновления макросов и как раз такие вопросы здесь обсуждались неоднократно - ищите. Работать такая схема будет только в Экселе 2016 и позже.
Вот горшок пустой, он предмет простой...
 
PooHkrd, большое спасибо за ответ.
Да, я выгружаю запросы в таблицы-отчеты, а потом другими запросами делаю из этих отчетов еще другие таблицы-отчеты по определенным категориям. Так надо для отчетности.
Можете дать ссылку где показывается как макросом делается порядок выполнения запросов?
(Конечно, если это вам надо долго искать, то не надо. Я буду сам искать пока не найду здесь, либо возможно поищу где-то на других сайтах).
Спасибо!
 
UAIOK, вот вариант.
Но вы так и не ответили что вам мешает ссылаться другим запросом не на таблицу, а на сам запрос, который выгружает данные в эту таблицу?
Изменено: PooHkrd - 22.10.2019 06:47:20
Вот горшок пустой, он предмет простой...
 
PooHkrd, спасибо!
Решение иногда оказывается настолько элементарным, что не сразу в голову приходит.
 
PooHkrd, поэкспериментировав с разными предложенными вариантами, решил свою проблему с зависанием файла просто установив ожидание выполнения запросов, а точнее выключение фонового выполнения:
на каждом большом запросе на построение таблицы (не на подключениях) кликнул мышкой, зашел в свойства и выключил опцию «Фоновое обновление». В результате эти запросы стали выполняться друг за дружкой не пересекаясь, просто при нажатии "Обновить все".

Однако у меня вопрос по вашей фразе: "что вам мешает ссылаться другим запросом не на таблицу, а на сам запрос, который выгружает данные в эту таблицу".
Я так понимал, что когда я выбираю для нового запроса Данные => Получить данные => Из таблицы/диапазона, то используется запрос, а не построенная таблица.
Теперь вы мне открыли глаза, что это используется построенная ранее таблица. Однако нет в меню команды выбрать для запроса другой запрос, либо это надо вручную корректировать в источнике нового запроса? Можете подсказать как создать новый запрос на основании другого запроса, но не на таблице, которую тот запрос построил? (Если на созданном ранее запросе кликнуть правой кнопкой мышки, то тоже нет пункта создать новый запрос на основании этого).
 
имеется вопрос на вопрос про ссылку на запрос :)  
 
Ссылка - это и есть ссылка на запрос? Спасибо! Я тоже так думал, но уточнить не мешало ))
 
UAIOK, Есть в меню, которое вызывается ПКМ по запросу, называется "ссылка". Жмете в него, создаётся новый запрос, который ссылается на родительский.
Вот горшок пустой, он предмет простой...
 
Захотел добавить от себя, свой опыт использования ссылок на другие запросы. При использовании ссылок, вы должны быть уверены в том, что позднее эти запросы никак не будут участвовать в каких-либо джоинах или сложении таблиц между собой, так как будет возникать циклическая ошибка. Еще один минус в том, что при ошибке в родительском запросе, полетят все остальные запросы, которые ссылаются на него.
Страницы: 1
Наверх