Forum Discussion

Dicken's avatar
Dicken
Post Prodigy
1 year ago
Solved

Power Query Custom Function dialog box



Hi, 
is there a way you can select a list via the function dialog box,   

so if I have a function;  SufF;   
let
sumlist = (x)=> List.Sum( x )
in
sumlist

and a list = "alist"   = {2,2,2,2,2}   

In can just use   ; SumF( alist) or 
Function.Invoke( SumF,
{alist} )

but the only way I have been able to use the functon dialog box is convert list to table, 
then  define x as a list sumlist = (x as list )=> List.Sum( x )
and then select the column to be treated as a list, is there a wat to access the list in the function dialog box directly? 

Richard 


  • Functions need parameters.  Parameters in the "function dialogue"  can only be of basic type (plus binary)

     

     

    So this will work

     

    let
    alist = {2,2,2,2,2},
    SumF = (x) => List.Sum(x)
    in
    SumF(alist)

     

    but it won't work if your alist is a parameter, even if that parameter is "list of values".

     

    Apart from the academic aspect - is there a business problem you are trying to solve? You may have to dive deep into Expression.Evaluate().

  • Dicken's avatar
    Dicken
    1 year ago

    No, I was just interested to see if there was some trick I was overlooking , 
    thanks anyway .

    Richard. 

2 Replies

  • Functions need parameters.  Parameters in the "function dialogue"  can only be of basic type (plus binary)

     

     

    So this will work

     

    let
    alist = {2,2,2,2,2},
    SumF = (x) => List.Sum(x)
    in
    SumF(alist)

     

    but it won't work if your alist is a parameter, even if that parameter is "list of values".

     

    Apart from the academic aspect - is there a business problem you are trying to solve? You may have to dive deep into Expression.Evaluate().

    • Dicken's avatar
      Dicken
      Post Prodigy

      No, I was just interested to see if there was some trick I was overlooking , 
      thanks anyway .

      Richard.