Afhandeling van NULL-waarden
Wanneer geen gegevens kunnen worden geproduceerd voor een bepaald veld als resultaat van een databasequery en/of een samenvoeging van tabellen met de opdracht join, is het resultaat meestal een NULL-waarde.
Overzicht
In de Qlik Sense-logica wordt het volgende als echte NULL-waarden behandeld:
-
NULL-waarden die door een ODBC-verbinding worden geretourneerd.
-
NULL-waarden als resultaat van een gedwongen aaneenschakeling van tabellen in het load-script voor gegevens.
-
NULL-waarden als resultaat van een samenvoeging in het load-script voor gegevens
-
NULL-waarden als resultaat van het genereren van veldwaardecombinaties voor weergave in een tabel
Zie NullAsValue voor meer informatie over NullAsValue.
Tekstbestanden kunnen per definitie geen NULL-waarden bevatten.
-waarden uit NULL koppelen/selecterenODBC
U kunt NULL-waarden associëren met en/of selecteren uit een ODBC-gegevensbron. Voor dit doeleinde is een scriptvariabele gedefinieerd. De volgende syntaxis kan worden gebruikt:
Het symbool <sym> vervangt alle NULL-waarden uit de ODBC-gegevensbron op het laagste niveau van de gegevensinvoer. <sym> kan elke tekenreeks zijn.
U herstelt de standaardinterpretatie van deze functionaliteit met de volgende syntaxis:
SET NULLDISPLAY=;
Als u wilt dat de Qlik Sense-logica NULL-waarden die worden geretourneerd uit een ODBC-verbinding interpreteert als een lege tekenreeks, voegt u in uw script het volgende toe vóór een SELECT-opdracht:
SET NULLDISPLAY=";
Zie NullDisplay voor meer informatie over NullDisplay.
NULL-waarden creëren uit tekstbestanden
Het is mogelijk een symbool te definiëren dat wordt geïnterpreteerd als een reële NULL-waarde als het voorkomt in een tekstbestand of een inline-clausule. Gebruik de volgende opdracht:
Het symbool <sym> moet worden geïnterpreteerd als NULL. <sym> kan elke tekenreeks zijn.
U herstelt de standaardinterpretatie van deze functionaliteit als volgt:
SET NULLINTERPRET=;
Zie NullInterpret voor meer informatie over NullInterpret.
Het doorgeven van NULL-waarden in uitdrukkingen
NULL-waarden worden in een uitdrukking doorgegeven volgens een aantal logische regels.
Functies
De algemene regel is dat een functie NULL retourneert als de parameters buiten het gedefinieerde bereik van een functie vallen.
Uitdrukking | Resultaat |
---|---|
asin(2) | retourneert NULL |
log(-5) | retourneert NULL |
round(A,0) | retourneert NULL |
Als gevolg van het bovenstaande retourneert een functie in het algemeen NULL wanneer een willekeurige parameter in de uitdrukking NULL is.
Uitdrukking | Resultaat |
---|---|
sin(NULL) | retourneert NULL |
chr(NULL) | retourneert NULL |
if(NULL, A, B) | retourneert B |
if(True, NULL, A) | retourneert NULL |
if(True, A, NULL) | retourneert A |
Uitzonderingen op de tweede regel zijn logische functies die een bepaald type testen.
Uitdrukking | Resultaat |
---|---|
isnull(NULL) | retourneert True (-1) |
isnum(NULL) | retourneert False (0) |
Rekenkundige operatoren en tekenreeksoperatoren
Als NULL wordt aangetroffen aan een van de kanten van deze operatoren wordt NULL geretourneerd.
Uitdrukking | Resultaat |
---|---|
A + NULL | retourneert NULL |
A - NULL | retourneert NULL |
A / NULL | retourneert NULL |
A * NULL | retourneert NULL |
NULL / A | retourneert NULL |
0% NULL | retourneert NULL |
0 * NULL | retourneert NULL |
A & NULL | retourneert A |
Relationele operatoren
Als NULL wordt aangetroffen aan een van de kanten van een relationele operator, zijn er speciale regels van toepassing.
Uitdrukking | Resultaat |
---|---|
NULL (elke relationele operator) NULL | retourneert NULL |
A <> NULL | retourneert True (-1) |
A < NULL | retourneert False (0) |
A <= NULL | retourneert False (0) |
A = NULL | retourneert False (0) |
A >= NULL | retourneert False (0) |
A > NULL | retourneert False (0) |