# 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

InformatieIn het algemeen kunnen deze NULL-waarden niet worden gebruikt voor associaties en selecties, behalve als de opdracht NullAsValue wordt gebruikt.

Zie [NullAsValue](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/NullAsValue.htm) 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:

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/null-value-handling.htm)SET NULLDISPLAY=&lt;sym&gt;;

Het symbool &lt;sym&gt; vervangt alle NULL-waarden uit de ODBC-gegevensbron op het laagste niveau van de gegevensinvoer. &lt;sym&gt; kan elke tekenreeks zijn.

U herstelt de standaardinterpretatie van deze functionaliteit met de volgende syntaxis:

SET NULLDISPLAY=;

InformatieHet gebruik van NULLDISPLAY heeft alleen betrekking op gegevens uit een ODBC-gegevensbron.

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=";

InformatieHier staat '' voor twee enkele aanhalingstekens zonder dat daar iets tussen staat.

Zie [NullDisplay](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ValueHandlingVariables/NullDisplay.htm) 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:

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/null-value-handling.htm)SET NULLINTERPRET=&lt;sym&gt;;

Het symbool &lt;sym&gt; moet worden geïnterpreteerd als NULL. &lt;sym&gt; kan elke tekenreeks zijn.

U herstelt de standaardinterpretatie van deze functionaliteit als volgt:

SET NULLINTERPRET=;

Informatie Het gebruik van NULLINTERPRET heeft alleen invloed op gegevens uit tekstbestanden en inline-clausules.

Zie [NullInterpret](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ValueHandlingVariables/NullInterpret.htm) 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.

Voorbeelden

| 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.

Voorbeelden

| 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.

Voorbeelden

| 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.

Voorbeelden

| 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.

Voorbeelden

| Uitdrukking | Resultaat |
| --- | --- |
| NULL (elke relationele operator) NULL | retourneert NULL |
| A &lt;&gt; NULL | retourneert True (-1) |
| A &lt; NULL | retourneert False (0) |
| A &lt;= NULL | retourneert False (0) |
| A = NULL | retourneert False (0) |
| A &gt;= NULL | retourneert False (0) |
| A &gt; NULL | retourneert False (0) |