209 похожих чатов

Как вам идея для нового челленджа? Написал тут один хороший человек

функцию такого вида:
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.

Напишем?

4 ответов

24 просмотра

не вопрос, гоните стенд 🙃

Mikhail Muzykin
не вопрос, гоните стенд 🙃

по крайней мере не совсем понятно куда сейчас пихаются arguments, с такой общей задачей я бы предпочёл подавать это записью, но это сугубое имхо и хотелось бы увидеть пример

Maxim-Zelensky Автор вопроса
Mikhail Muzykin
по крайней мере не совсем понятно куда сейчас пиха...

ага, постараюсь стенд дать вскоре. Тут вот подумал, что не совсем чистый челлендж всё же. Сейчас (в текущей реализации у автора) всё упирается в 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) списком. В общем, слишком универсально и запутано :)

Maxim Zelensky
ага, постараюсь стенд дать вскоре. Тут вот подумал...

ну вот я про универсальность и говорю - если обрабатываем поля строки, т.е. запись, тогда разумно доп аргументы также в виде записи иметь - [ ] & [ ] и погнали с ней работать

Похожие вопросы

Обсуждают сегодня

Карта сайта