The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.
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;
User | Count |
---|---|
57 | |
54 | |
53 | |
47 | |
31 |
User | Count |
---|---|
175 | |
88 | |
69 | |
48 | |
47 |