Подведем итог этого тикета, может кому-то будет также полезно при использовании PQ.
Правило.Если в рамках одной книги вы используете промежуточные запросы PQ для расчета данных, то необходимо в этих запросах последним шагом делать Table.Buffer.
Пример.
Предположим, что в рамках одной книги у вас есть следующие запросы: Поставщик1, Поставщик2, Обработка1, Обработка2, Обработка3, Итоговый результат.
Запросы Поставщик1, Поставщик2 - это обращение к внешним файлам (в нашем случае прайсы поставщиков).
Обработка1, Обработка2, Обработка3 - это промежуточные запросы, где вы делаете операции на основании данных из запросов Поставщик1, Поставщик2.
Итоговый результат - объединяете запросы Обработка1, Обработка2, Обработка3 в один запрос.
Таким образом в запросах Обработка1, Обработка2, Обработка3 последний шаг должен быть Table.Buffer.
Инструкция по шагам.Для того, чтобы сделать расчет данных в Обработка1 на основании запроса Поставщик1, то необходимо навести мышкой на запрос Поставщик1, нажать правой кнопкой мыши и выбрать "Ссылка". У вас откроется новый запрос, где источник данных будет запрос "Поставщик1". Можно сразу открыть Расширенный редактор и вставить шаг Table.Buffer. Далее переходите в стандартное окно и между шагами Источник и Buffer вставляете нужные операции - код сам будет модифицироваться. Если система будет спрашивать "Вы действительно хотите вставить шаг?" отвечайте "Вставить".
Код получится такой:
Код |
---|
let
Источник = Поставщик1,
Buffer = Table.Buffer(Источник)
in
Buffer
|
P.S. Это никак не претендует на правду, но в рамках пользовательского опыта показало, что данное правило просто необходимо, а не просто рекомендуемо.