Equivalent of IFERROR(VLOOKUP,IF(RIGHT(- in Magic ETL

Hi Guys,

Hope all is good.

I am using Magic ETL and trying to create a flow replicating the current logic of my Excel file.

In Excel I have 2 datasets. On the Main sheet a column is categorizing using the formula =IFERROR(VLOOKUP(value,range,exact Match),IF(RIGHT(Category,2)="AB","Above","Below))


Now in Magic ETL data flow, I used Left outer join then I connected it to add formula, the formula I wrote: CASE WHEN (`Category`= null OR `Category` = '') AND RIGHT(TRIM(`Product Group name`),2)='AB' THEN 'Above' ELSE 'Below' END

But the output of the flow does not match on what is in my excel, the formula is superseded the left outer join.

Thank you All,

Answers

  • @aldwinB From what I can see, your Excel formula is looking for 'AB' at the end of the Category field, but your ETL formula is looking for it at the end of `Product Group name`. That may be contributing to why you don't see the same results.

    Also, the correct syntax for checking for nulls is Category IS null, not Category = null.

  • Hi @MichelleH Thanks for the correct syntax for nulls.

    The Excel Category field and ETL Product Group name is just the same. I just called them differently, they are just both values that I am trying to map as "Above" or "Below"

    My ETL formula: CASE WHEN (`Category `IS null OR `Category` = '') AND RIGHT(TRIM(`Product Group name`),2)='AB' THEN 'Above' ELSE 'Below' END - Formula does overwrite some of those already identified in the prior Join.

    The Category field already captured some "Above" or "Below" when the Join of the two datasets is done. Now, those that are null or doesn't have a match on the dataset Join shall be the ones where the formula should apply.

    Thank you