Umgang mit BLANK in Power Pivot DAX
Der BLANK Wert ist ein spezieller Wert, welchem man vor allem bei Vergleichen besondere Aufmerksamkeit schenken sollte.
BLANK in Power Pivot DAX ist nicht gleichbedeutend mit dem NULL Wert in SQL.
Was ist ein BLANK Wert in DAX ?
Jede Datentyp außer der BOOLEANsche (TRUE / FALSE) in DAX kann einen BLANK Wert enthalten. BLANK wird zugewiesen, wenn die Datenquelle einen NULL Wert enthält.
Wenn man einen DAX Ausdruck verwendet wird ein BLANK Wert immer zu 0 oder Leerstring konvertiert, je nachdem welchen Datentyp der Ausdruck erwartet.
Man erhält / erzwingt einen BLANK Wert in DAX, wenn man die DAX BLANK() Funktion verwendet.
Die folgende Tabelle zeigt das Ergebnis mehrerer DAX Ausdrücke, die einen BLANK Wert enthalten:
Ausdruck | Ergebnis |
BLANK() | BLANK |
BLANK()=0 | TRUE |
BLANK() && TRUE | FALSE |
BLANK || TRUE | TRUE |
BLANK()+1 | -1 |
BLANK()-1 | -1 |
BLANK()/4 | BLANK |
INT(BLANK()) | BLANK |
Vergleiche mit BLANK
Wenn man BLANK in einem Vergleich verwendet, resultiert die Umwandlung zu 0 oder einem Leerstring in einer positiven Übereinstimmung. Aus diesem Grund benötigt der Vergleich mit BLANK eine spezielle DAX Funktion, ISBLANK().
Diese Funktion gibt jedesmal TRUE zurück, wenn der Wert BLANK ist.
Die nächsten Beispiele zeigen auf, wie man eine positive Übereinstimmung erhält, wenn man BLAKN Werte mit Leerstring oder 0 vergleicht:
IF(BLANK();"TRUE";"FALSE") := FALSE
IF(ISBLANK(BLANK());"TRUE";"FALSE") := TRUE
IF(BLANK()=TRUE;"TRUE";"FALSE") := FALSE
IF(BLANK()=FALSE;"TRUE";"FALSE") := TRUE
IF(BLANK()=0;"TRUE";"FALSE") := TRUE
IF(BLANK()="";"TRUE";"FALSE") := TRUE
Die automatische Umwandlung zu 0 oder Leerstring eines BLANK Wertes kann unerwünschte Seiteneffekte haben. Beachte zum Beispiel folgende Ausdrücke und das Ergebnis für verschiedene Werte eines measures:
IF([measure]=BLANK();"is blank";IF(VALUE([measure])=0;"is zero","other"))
[measure] Ergebnis
0 BLANK
"" BLANK
Kommentare
Kommentar veröffentlichen