Forum Discussion
Couldn't you just shift the list logic into the Complex Expression?
Yes, in theory, but there are a lot of line in the List mapping. I'd also have to combine them with the source accounts, and there are many of those and they don't run in nice neat ranges. It wouldn't really be sustainable.
- DanielWillis7 months agoValued Contributor
I don't think this will work. I think your incoming row will find a match on your complex expression and then stop there, not looking up any further mappings (e.g., on the list tab).
I understand why you wouldn't want to put your list in the code. What you could do is have your complex expression code look up the mapping from the list.
- Henning7 months agoValued Contributor II
I agree, though I am curiously waiting to see whether there is a way to achieve this, I do not believe there is. If there is nothing returned from the rule, the assigned target value from the Composite rule should be returned.
If you do not want to put your list mapping into the Composite complex expression (which is a valid hesitation!), one could also use lookup tables to refer to and store the list mapping used in the complex expression (and keep the lookup table in a global variable).
List mappings with a complex expression should work as well as per DanielWillis suggestion.
If your only purpose to apply those two case mappings to your BS accounts, Mask mapping with a complex expression or business rule might be another way to go about it. Up to you to determine which solution suits the requirements best.
- DanielWillis7 months agoValued Contributor
Yes, definitely also use a global variable rather than looking up the list each time.
- Beeswing777 months agoNew Contributor III
I like the idea of having the complex expression code look up the mapping from the List. Can that be done using the existing List, and if so, how? Or would I have to move it all into a Lookup?
Thanks!
- DanielWillis7 months agoValued Contributor
Yes it can be done from the list. If you use a lookup table there are built-in functions you can use rather than a database query although I think a database query dumping a datatable / dictionary of the list mappings or lookup table into memory would probably be better.
You can find some SQL to get you started in https://community.onestreamsoftware.com/t5/Workflow-and-Data-Integration/Transformation-rules-mappings/m-p/30478
- jwagner7 months agoNew Contributor III
Hmm, I wouldn't have expected the Globals.Bypass to be returning 0. Are you able to send a screenshot of an example of a composite and list rule?
- Beeswing777 months agoNew Contributor III
This is the Composite:
That has this Complex Expression:
Here is the List:
If I remove the Complex Expression completely then the List and Mask work fine.
- jwagner7 months agoNew Contributor III
I'm not sure if that Composite Rule is even picking up account BS11200, try removing the A#[1*] and just using A#[*]