функцию такого вида:
TableTransfromMultipleColumns(
table as table,
columns as list,
transformer as function,
optional arguments as nullable list,
optional newtype as nullable type
) as table
Функция берет таблицу table и трансформирует столбцы columns при помощи transformer так, чтобы а) в ней можно было ссылаться на другие столбцы таблицы и б) при необходимости использовать дополнительные аргументы arguments (если подаются, то в виде списка). Ну и при необходимости менять тип преобразованных столбцов на указанный тип newtype.
Напишем?
не вопрос, гоните стенд 🙃
по крайней мере не совсем понятно куда сейчас пихаются arguments, с такой общей задачей я бы предпочёл подавать это записью, но это сугубое имхо и хотелось бы увидеть пример
ага, постараюсь стенд дать вскоре. Тут вот подумал, что не совсем чистый челлендж всё же. Сейчас (в текущей реализации у автора) всё упирается в transformer, что мне очень не нравится. Пример применения пока такой: Transformer = (value as any, row as record, optional criteria as nullable number)=> value * List.Max( {row[Rate], criteria} ) Apply = TableTransformMultipleColumns( Source, {"Col1", "Col2"}, Transformer, {0.5} ) То есть, мы должны определить требования к transformer как к функции, принимающей на вход минимум два обязательных аргумента: 1/ изменяемое значение и 2/ строка таблицы в виде записи Также transformer может иметь 3й и далее аргументы, которые передаются отдельно (arguments) списком. В общем, слишком универсально и запутано :)
ну вот я про универсальность и говорю - если обрабатываем поля строки, т.е. запись, тогда разумно доп аргументы также в виде записи иметь - [ ] & [ ] и погнали с ней работать
Обсуждают сегодня