Добрый день! Давненько бьюсь над задачкой: - есть 2 типа счетов из 1С в формате .xlsx, из которые с помощью PQ тянется нормализованная таблица с арт., наименованием, и пр. данными. Но если в одном нужное поле находится в 3-м столбце, то во втором счете данные в 5-ом столбце. Есть ли возможность передать столбец параметром в запись:
Код
= Table.SelectRows(#"Столбец расширенной таблицы1", each not List.ContainsAny({null, ""}, {[Column5]}))
т.е. вместо [Column5] задать параметр, который будет вводиться пользователем? Стандартный (для меня) метод формата List{0} не срабатывает, что понятно вроде как понятно, PQ ругается на несоответствие типов. есть возможность реализовать такой метод?
P.S.: Вообще уже подумываю над тем, чтобы снова вернуться к идее спарсить основные данные VBA, но все же хочется попробовать сделать именно так)
Станислав Воротынцев, вы хотите имя столбца как параметр передавать, чтобы получить его содержимое? Record.Field(_, parameter) либо Record.FieldOrDefault(_, parameter, default_value). Или, если по номеру надо, Record.FieldValues(_){3}
да, все верно, в зависимости от типа счета, столбец по которому происходит фильтрация меняется, поэтому хочу инициировать столбец параметром от пользователя. Идея в том, что в зависимости от типа счета, поле "Артикул" может находиться либо в 3-м, либо в 5-м столбце, все остальные агрегации в запросе одни и те же. Пока я делаю это в ручную, но хочется автоматизировать этот процесс. Пока тестирую Ваше предложении, но если честно все равно пока получаю ошибку, возможно не верно передаю параметры в функцию. Прошу прощения, но я пока новичок в pq не совсем понимаю, что нужно передать в параметр record.