Как увеличить скорость работы в Power Query?
Бывают такие ситуации, когда в редактор Power BI вы загружаете большие объемы данных, например, таблицы с миллионами строк. Если у вас в редакторе запросов (Power Query) таких запросов много, и вы пытаетесь производить с ними определенные действия: обрабатывать, объединять, добавлять, то Power Query может «подтормаживать», долго обрабатывать информацию, тем более если ваш компьютер или ноутбук слабоваты и это в целом ведет к увеличению времени работы.
Например, в вашем запросе миллион строк, вам же нужно временно оставить в этом запросе 100 строк. После того, как вы ограничите количество строк до 100, сделайте все необходимые преобразования запросов и в заключение удалите тот шаг, в котором вы ограничивали количество строк. Тем самым вы ускорите весь процесс работы с запросами.
Вот как это реализовывается на практике:
Редактор запросов Power Query:
На главной странице нажимаем «Изменить запросы»
В данной таблице 996 строк. Для примера ограничим таблицу 20 строками.
В основном поле, в левом верхнем углу правой кнопкой мыши нажимаем на значок на пересечении столбцов и строк.
В появившемся меню нажимаем «Сохранить верхние строки…».
Затем в открывшемся окне указываем цифру 20.
Наша таблица уменьшилась до 20 строк.
Теперь мы можем работать с этим запросом (чистить, модернизировать, соединять с другими запросами и т.д.) и эти действия будут проводиться достаточно быстро, потому что количество строк уменьшилось до 20.
Для примера, создадим шаг, состоящий из нового столбца.
На вкладке «Добавление столбца» нажимаем «Настраиваемый столбец»
В поле «Пользовательская формула столбца» указываем информацию, которая будет отражена в новом столбце. Например, настроим новый столбец как произведение данных столбца 2 и 5000.
Появился новый столбец.
Теперь самым последним шагом необходимо вернуть весь удаленный ранее массив данных (удаленные строки).
Для этого переходим в поле «параметры запроса», которое находится справа, и ищем тот шаг, на котором удаляли строки. В нашем случае это шаг «сохранение первых строк».
Удаляем данный шаг (нажимаем на крестик слева), в появившемся окне подтверждаем удаление.
Все ранее удаленные строки вернулись в таблицу.
Таким образом у нас появился новый столбец, где результат заданного действия, отражен по всем строкам огромного массива данных. И самое главное – процесс прошел быстро.
Пользуйтесь данным советом, и работа с Power Query у вас пойдет заметно быстрее!
Спасибо за статью!
Но в общем случае такая схема может не работать. Все дело в том, поддерживает ли конкретный коннектор к источнику данных сворачивание запроса (query folding). Если нет, то PQ сначала занят к себе весь набор данных, а уже потом применит локальную фильтрацию.