Параметр Allow Data Preview To Download In The Background в Power Query и Power BI
Текст представляет собой адаптированный перевод статьи Chris Webb (Крис Уэбб),
оригинал — Power Query, Power BI And The "Allow Data Preview To Download In The Background" Option.
Крис Вебб (Chris Webb) — независимый эксперт, консультант по технологиям Analysis Services, MDX, Power Pivot, DAX, Power Query и Power BI. Его блог — это кладезь информации на тему перечисленных технологий. Вот уже более 10 лет он пишет про BI-решения от Microsoft. Количество его статей перевалило за 1000! Также Крис выступает на большом количестве различных конференций вроде SQLBits, PASS Summit, PASS BA Conference, SQL Saturdays и участвует в различных сообществах.
Крис любезно разрешил нам переводить его статьи на русский язык. И это одна из них.

Параметр Allow Data Preview To Download In The Background в Power Query и Power BI

Недавно мы настраивали книгу Excel с большим количеством запросов в ней. Хотя все данные получались из таблиц книги, их объём был небольшим, но общее количество запросов равнялось пятидесяти. При обновлении всех запросов возникала длительная пиковая нагрузка на центральный процессор и занимался большой объём памяти.
Только небольшое количество из пятидесяти запросов загружались в книгу, и ни один в модель данных. Запросы ссылались на другие по цепочке, длиной до десятка запросов. Общая картинка по зависимостям вопросов выглядела примерно так:
Мы придерживаемся такого подхода, когда для разделения сложной логики, применяются ссылки на отдельные запросы. В нашем случае это абсолютно оправдано, иначе работать с книгой было бы невозможно. Из чего совершенно ясно, что проблема возникала при обновлении.

В дальнейшем мы поняли, что если обновлять отдельные запросы, которые действительно загружают данные, никаких трудностей, возникающих при использовании кнопки Refresh All, не было. Значит источником проблемы являлись запросы, которые не загружали данные в книгу.

И Power Query и Power BI загружают предварительный просмотр данных в окошко Query Editor. При щелчке по Refresh All произойдёт загрузка предварительного просмотра для всех запросов. А это займёт все ресурсы центрального процессора и памяти. Чтобы избежать этого, нужно убрать галку с параметра настроек Allow Data Preview To Download In The Background, появившийся в версиях Power BI в январе 2016, и Power Query/Get & Transform в Excel.

В экселе этот параметр доступен в диалоге Query Options:
…выберем пункт Current Workbook/Data Load. И снимем флажок с пункта Allow data preview to download in the background:
Вот пример того, что возвращает данный запрос из книги, содержащей несколько запросов:
…фоновая загрузка предварительного просмотра при обновлении запроса остановится.

После этого, с небольшой подстройкой, использовали функцию Table.Buffer(). Все проблемы с Refresh All ушли, обновление прошло очень быстро.
Данный трюк применим для книг Excel и файлов pbix.