Forum Discussion

TLOY_TGA's avatar
TLOY_TGA
New Contributor
5 years ago

Match Expression stored in a Variable

I have a Pipeline using in different branches the same Mapper for one of the Field
See ScreenShot

I would like to use a Pipeline Variable in my Mapping Expression in order to update/maintain only once my expression

my ORGANISATION Mapping expression looks like this

{match $ORGANISATION {
“H10” => “CC_0001”,
“H11” => “CC_0004”,
“H12” => “CC_0004”,
“H1000” => “CC_0001”,
“H1100” => “CC_0002”,

“” => “CC_ERROR”,
_ => $ORGANISATION}}

How is this possible?

Thank you for your answer

6 Replies

  • I’m not sure a pipeline parameter would work for this case. I believe an expression file arrow function is the right way to go. Take a look at the following for a starting point. The “string.expr” gives an example of an arrow function that uses the “match” operator.

    • del's avatar
      del
      Contributor III

      This is not a challenge… just sharing an example 🙂
      Community.9634.slp (3.6 KB)

      I believe an expression file arrow function is the right way to go

      I agree completely.

      • koryknick's avatar
        koryknick
        Employee

        Thanks for the example Del - I was thinking of this differently. Agree that eval would work - but performance would be seriously impacted.

  • bojanvelevski's avatar
    bojanvelevski
    Valued Contributor

    Hello @TLOY_TGA ,

    If all of the marked Mappers are the same, you can use Pipeline Execute. That way you will maintain/update only one Mapper.

    Best regards,

    Bojan Velevski

  • del's avatar
    del
    Contributor III

    There are a couple of options I can think of:

    • You can use the eval() function on a parameter to execute the code in the parameter.
      ( ex. eval(_Parm_Expression) )
      But, take notice of the performance note in the documentation.
    • You can create and use an expression library file. There can be a slight learning curve, but for your use case, I think I would choose this option because the size of your expression would probably be easier to read and maintain in a file than in a parameter field.
  • TLOY_TGA's avatar
    TLOY_TGA
    New Contributor

    Thank you guys, I will make a test in the coming week and let you know