Forum Discussion

halifaxious's avatar
halifaxious
Frequent Visitor
3 years ago
Solved

explain this custom function, please?

I found a function to replace text using a lookup table. It works great. But the syntax is unfamiliar to me and I can't find a reference for it.  Here's what I have:   replacer = (x,y,z)=>LookupTa...
  • m_dekorte's avatar
    3 years ago

    Hi halifaxious,

     

    There is a lot going on here

     

     

    replacer = (x,y,z)=>LookupTable{[#"lookup value"=x]}?[replacement]? ??x

     

     

     

    First this is a custom replacer function which takes 3 arguments: 

    x = original value

    y = match condition (true or false)

    z = replacement value

     

    Next its applying (optional) key match lookup to identify a unique row in the table

    LookupTable{ [#"lookup value"=x] }?

     

    Followed by (optional) field access, to return a value from a field/ column

    [replacement]?

     

    And finally applying coalesce, to return the input value if a null is returned.

    ?? x

     

    Ps. If this helps solve your query please mark this post as Solution, thanks!

     

    Some links to resources on these topics: 

    Visual guide to key match lookup 

    Visual guide to coalesce 

    Item- and Field access