Mi a különbség a null és a 0 között Power BI-ban?

Akik SQL-es háttérrel rendelkeznek, azok tudják mi a különbség a NULL érték és a 0 között, de az üzleti felhasználók nem. Legalábbis ez a tapasztalata az on-the-job Power BI képzéseknek. Ott ugyanis rendre előjön ez a kérdés.

A köznapi értelemben ez a kettő ugyanis azonos. Nulla vagy null nem mindegy? Statisztikai, vagy elemzői szempontból nem. Egyáltalán nem mindegy, hogy valahova nullát terveztünk vagy nem terveztünk semmit. Az egyik egy szám, a másik pedig semmi :-) A kettő között jelentésbeli különbség van.

Ennek megfelelően a Power BI is külön kezeli őket. Illetve pontosítok: Tudja őket külön is kezelni. De alapesetben összemossa őket pont úgy, mint a köznyelv. Ez kezdő szinten hasznos, de haladó szinten már nem várt eredményt hozhat…

Vegyük például egy egyszerű táblát, aminek két sora van. Az egyik üres a másik nulla

Most számoljuk meg az üres és nulla sorokat

  • Countrows 0 =     CALCULATE(COUNTROWS('Tábla'), 'Tábla'[Érték] = 0)
  • Countrows BLANK = CALCULATE(COUNTROWS('Tábla'), 'Tábla'[Érték] = BLANK())

Nézzük meg mit adnak vissza:

Mint látható mind a két számított mező ugyanazt adja vissza, azaz a DAX nem tesz különbséget a nulla és az üres érték között. Legalábbis ha csak sima egyenlőségjelet használunk. Ha ugyanis dupla egyenlőségjellel vizsgáljuk az egyezőséget, akkor már különbséget tesz. Mutatom:

  • Countrows strickly 0     = CALCULATE(COUNTROWS('Tábla'), 'Tábla'[Érték] == 0)
  • Countrows strickly BLANK = CALCULATE(COUNTROWS('Tábla'), 'Tábla'[Érték] == BLANK())

Így már a várt eredményeket adják a számított mezők

Összefoglalva: A DAX nem tesz különbséget 0 és null érték között, ha az egyezőséget a sima egyenlőségjellel vizsgáljuk. De különbséget tesz, ha a dupla egyenlőségjelet használunk.

 

Kővári Attila - BI projekt

POWER BI WORKSHOP

Tudjon meg többet az itt elhangzottakról! Jöjjön el a 2021. június 29.-i Power BI workshopra vagy rendeljen kihelyezett képzést! Részletek >>

 

Új hozzászólás