MagicETL2 Filter issue?

mberkeley
mberkeley Contributor
edited March 2021 in Magic ETL

I have a filter in my dataflow:

id NOT EQUAL value

This filter removes all rows that have 'value', but it also seems to remove rows that have null in the 'id' field. Has anyone seen similar behavior in the Filter Rows ETL?

Best Answer

  • ST_-Superman-_
    Answer ✓

    If you are wanting to keep the NULL values, you may want to try adding two options to your filter card. NULL values do not play nicely when checking if they are equal to anything.

    In addition to the id NOT EQUAL value, try including

    id IS NULL

    Then set the filter rules to look for data that meet ANY rule.


    “There is a superhero in all of us, we just need the courage to put on the cape.” -Superman

Answers

  • ST_-Superman-_
    Answer ✓

    If you are wanting to keep the NULL values, you may want to try adding two options to your filter card. NULL values do not play nicely when checking if they are equal to anything.

    In addition to the id NOT EQUAL value, try including

    id IS NULL

    Then set the filter rules to look for data that meet ANY rule.


    “There is a superhero in all of us, we just need the courage to put on the cape.” -Superman
  • mberkeley
    mberkeley Contributor

    Thanks. Trying this now.

  • mberkeley
    mberkeley Contributor

    The answer above worked. Thank you.

  • well... ok. to put more nuance on the answer

    if you read NULL as "I don't know" and you imagine that in your hand you have the value NULL. If you asked "does my hand NOT contain 7" you assume the answer is FALSE. because you don't know what's in your hand. it works the same way if you say "does my hand = 7" similarly the answer must be FALSE because you don't know what's in your hand.

    The only thing you know for sure, is that your hand IS NULL. (or IS NOT NULL) but if you test an explicit value you will always get FALSE

    Jae Wilson
    Check out my 🎥 Domo Training YouTube Channel 👨‍💻

    **Say "Thanks" by clicking the ❤️ in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"
  • mberkeley
    mberkeley Contributor

    BTW. My original version of this works in the original ETL tools, just not in ETL2.

  • @mberkeley That is correct. There was a fundamental shift with ETL 2.0 to more align with SQL handling of NULLs which give consistency but can cause issues in dataflows when converting from ETL 1.0 -> ETL 2.0

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**