Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Hi,
I am trying to use the Invoke.Function like this
functionToExecute="List.First",
result = Function.Invoke(functionToExecute, {parameter list})
instead of
Function.Invoke(List.First , {parameter list})
Obviously, this won't work, but i wonder how to achieve it...
Many thanks
Solved! Go to Solution.
You need Expression.Evaluate.
As an example I created Query1 with a list 1-10 and Query2 with functions, parameters and the invoked function:
Query1:
{1..10}
Query2 (edited version: you need to add &[Quer1=Query1] to #shared in order to have the results loaded into the data model):
let
Source = #table(type table[Function = text, Parameters = {any}],{{"List.Sum",{"Query1"}},{"List.FirstN",{"Query1",5}}}),
#"Added Custom" = Table.AddColumn(Source, "Invoked Function", each Expression.Evaluate("Function.Invoke(" & [Function] & ",{" & Text.Combine(List.Transform([Parameters], Text.From),", ") & "})",#shared&[Query1=Query1]))
in
#"Added Custom"
It looks like (before the edit):
You need Expression.Evaluate.
As an example I created Query1 with a list 1-10 and Query2 with functions, parameters and the invoked function:
Query1:
{1..10}
Query2 (edited version: you need to add &[Quer1=Query1] to #shared in order to have the results loaded into the data model):
let
Source = #table(type table[Function = text, Parameters = {any}],{{"List.Sum",{"Query1"}},{"List.FirstN",{"Query1",5}}}),
#"Added Custom" = Table.AddColumn(Source, "Invoked Function", each Expression.Evaluate("Function.Invoke(" & [Function] & ",{" & Text.Combine(List.Transform([Parameters], Text.From),", ") & "})",#shared&[Query1=Query1]))
in
#"Added Custom"
It looks like (before the edit):
Thank you Marcel, (again)
This is hvery helpful since it shows a good example of how to write Expression.Evaluate (which i had tried without successs thanks to a previous post of yours) and also the use of #shared.
Do you know where i could find documentation about #shared?
regards
jmdh
PS funny i have an error on the first function, not the second: good for my brain
Stupid of me, the List 1 to 10 was not numeric. now it works;
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
User | Count |
---|---|
126 | |
78 | |
78 | |
59 | |
51 |
User | Count |
---|---|
165 | |
83 | |
68 | |
68 | |
59 |