Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

2 data sources joined with a Key whose value may be different at some instances

Hi all: Good Day! I have 2 different data sources (e.g. table1 & table2) coming from 2 different databases. I am joining these 2 tables on a key "Pipeline" [text]  to pull ‘events’  from table1 and ‘...
  • edhans's avatar
    edhans
    6 years ago

    I personally would not use the text "NULL" in the fields and that can be confusing vs a legitimate NULL, which is really a BLANK() in DAX. Use something else, like "None." If you are using a real null (blank()) then you can still create the relationship but you'll have values show up on one side and not the other, and can make some of the visuals have blanks where you have things like item numbers or whatever.

     

    As to case sensitivity, it depends. DAX is not case sensitive. "None" = "NONE" = "noNE"

    Power Query though is case sensitive. You would want to wrap such columns with Text.Lower(), Text.Upper, or Text.Proper() to have the same case on each side of a merge.

     

     

  • edhans's avatar
    edhans
    6 years ago

    If that is what you see in DAX, that is the text Null and null, not a real null. A real null is blank.

    If you type that in Power Query, it shows up green, showing it is a keyword:

    Then shows up in italics in the Power Query window

    Then shows up blank in the DAX model, and would equate to the BLANK() function, and can be trapped with IsBlank(Table[Field]), or Table[Field] = BLANK() would evaluate to TRUE().

    So that Null and null are text if that is DAX. If it is Power Query it is also text, as a legit null shows up as null there.

     

    All null values will join a the same thing in Power Query, and all BLANK() in DAX will form a filter relationship with other BLANK() values.