Страницы: 1
RSS
В каких случаях использовать функцию Table.Buffer в PQ?
 
Добрый день! Прошу поделиться опытом, в каких случаях можно использовать функцию Table.Buffer в Power Query для ускорения обработки запросов.

Прочитал несколько статей про это. Понял, что благодаря этой функции таблица загружается в оперативную память и дальнейшие обращения к этой таблице происходят быстрее, чем при обращении к сетевому диску например. Сейчас же я пытаюсь понять как применить эту функцию в моем случае. Ниже приведена схема зависимостей запроса.

Скрытый текст


Сотрудники = обычная плоская таблица формата (Сотрудник, Город). Только подключение.
Transform = функция, которая подставляет город из таблицы Сотрудники к исходным данным + наводит красоту.
Исходные данные = результат применения функции Transform к каждому файлу с исходными данными и последующая сборка этих данных в одну таблицу (около 1,9 миллионов строк). Только подключение.
А уже последующие 4 запроса обращаются к таблице Исходные данные. Два из них загружены в модель данных, остальные 2 на лист в виде таблиц.

И тут возникают вопросы о том, где применять Table.Buffer.

Таблица Сотрудники. В последнем шаге самого запроса Сотрудники, в функции Transform в шаге где идет обращение к таблице Сотрудники или же в запросе Исходные данные в шаге где применяется функция Transform?

Таблица Исходные данные. Т. к. к ней в дальнейшем происходит 4 других запроса, то думаю, что функция Table.Buffer может ускорить работу. Но при попытке применить функцию в последнем шаге запроса Исходные данные PQ выдает ошибку о недостатке оперативной памяти (ее к слову 16 Гб, но офис 2013 32 битный). Подскажите пожалуйста где в данном случае применение функции Table.Buffer будет иметь смысл?
Изменено: Murderface_ - 15.11.2019 13:13:22
 
С вот этим ознакамливались?
И загрузите картинку на форум, с внешних источников я её не вижу.
Изменено: PooHkrd - 15.11.2019 13:07:48
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
ознакамливались
Да, но не до конца понял как это применить в моем случае.

Цитата
PooHkrd написал:
загрузите картинку на форум
добавил в первом сообщении.
 
Murderface_, исходя из картинки я бы рекомендовал буферизовать запрос Исходные данные.
Про буферизацию внутри запроса это очень индивидуальная штука.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
я бы рекомендовал буферизовать запрос Исходные данные
Эх, не получается...
 
Сколько ж там строк?
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
Сколько ж там строк?
1,9 миллионов.
 
Да ну на фиг, у меня в буфер влезает таблица на 6 столбцов и 5кк строк. Версия Экселя 64 бит?
Вот горшок пустой, он предмет простой...
 
PooHkrd, нет, 32 я в первом сообщении это указывал. Пробую переделать отчет, чтобы была другая последовательность шагов.
 
Цитата
Murderface_ написал:
в первом сообщении это указывал
Это я пропустил, каюсь. Тогда бы сразу сказал что буферизация больших объемов вряд ли поможет. Ставьте 64 бит версию. И памяти, по идее, будет хватать.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх