Forum Discussion
primolee
6 years agoHelper V
Calling a function and function name is in a data row
Hello everyone, I would like to add a new column using pre-made functions with 2 parameters, and the name of functions are in a column. I used Expression.Evaluate + Record.Combine to accompli...
primolee
6 years agoHelper V
Just found others' solution.
First, turn the functions that I need into a list then use that list.
var_Shared = #shared,
ProcessorFunctionNames = List.Select(Record.FieldNames(var_Shared),each Text.EndsWith(_,"Processor")),
Result = List.Transform(ProcessorFunctionNames, each _ & " = " & _ & ","),
Original expression:
Expression.Evaluate( _[Processor] & "( _[Folder Path] & _[Name] , _[Publisher] )", Record.Combine({[_=_],#shared}))
New expression:
Expression.Evaluate( _[Processor] & "( _[Folder Path] & _[Name] , _[Publisher] )", Record.Combine({[_=_],Result}))
However, I am getting an expression error "Cannot turn values of List type into Record type.
Could anyone please help me with this line? Thank you very much.