Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Вопрос быстродействия в PQ (Table.Buffer или List.Buffer), Буферизация значения в PQ из таблицы параметров
 

Доброго времени суток!

Можно ли как-то в запросе ОДИН раз загрузить в буфер обмена значение [Шаг] из таблицы параметры (tParam) с целью последующего использования этого значения?

Ведь наверняка при каждом обращении к таблице с параметрами (Excel.CurrentWorkbook() {[Name="tParam"]}[Content]{0}[Шаг]) excel затрачивает доп. ресурсы и замедляет исполнение запроса.

Во вложении файл с примером. При 1 048 576 строках (на листе с исходными данными) обработка запроса у меня занимает более 18 сек., но по требованию максимального размера прикрепляемого файла в 100 кг пришлось уменьшить кол-во строк до 1500 строк.

Естественно мой пример не "жизненный", а вымышленный, но отражает боль при обработке и преобразовании дат рождений списка из 3000 сотрудников, который по понятным причинам не могу приложить.

В общем, подскажите как ускорить обработку запроса путём буферизации (Table.Buffer или List.Buffer)?

Вот исходный вар-нт кода:

Код
let
Источник = Excel.CurrentWorkbook(){[Name="Исходник"]}[Content],
#"Добавлен пользовательский объект" = Table.AddColumn(Источник, "Расчет с шагом", each [Число]+(Excel.CurrentWorkbook() {[Name="tParam"]}[Content]{0}[Шаг]))
in
#"Добавлен пользовательский объект"


А вот то к чему я "стремлюсь" )):

Код
let
Источник = Excel.CurrentWorkbook(){[Name="Исходник"]}[Content],
MyValue = List.Buffer((Excel.CurrentWorkbook() {[Name="tParam"]}[Content]{0}[Шаг])),
#"Добавлен пользовательский объект" = Table.AddColumn(Источник, "Расчет с шагом", each [Число]+MyValue)
in
#"Добавлен пользовательский объект"

Но в итоге получаю ошибку типа:

Код
Expression.Error: Не удается преобразовать значение 10 в тип List.
Сведения:
Value=10
Type=Type

Изменено: Дмитрий Овчинников - 27.06.2022 16:42:13
Страницы: 1
Наверх