# IsNull Fonction de script et de graphique

La fonction IsNull teste si la valeur d'une expression est NULL et, si tel est le cas, renvoie -1 (True). Dans le cas contraire, la fonction renvoie 0 (False).

IsNull(expr )

Note InformationsUne chaîne d'une longueur égale à zéro n'est pas considérée comme NULL et entraîne la fonction IsNull à renvoyer la valeur False.

Booléen

Arguments

| Argument | Description |
| --- | --- |
| expr | Expression ou champ contenant les données à mesurer. |

Exemple : Expression de graphique

| Exemple | Résultat |
| --- | --- |
| `IsNull(Productname)` | Renvoie `-1` (Vrai) si `ProductName` est une valeur nulle, sinon `0` (Faux). |

## Exemple - Les bases de IsNull

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/IsNull.htm)

#### Expression de graphique

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champs suivants dans la table de données :

  * `ID`

  * `Value`

Script de chargement

```
Example:
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3,378];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `ID`

* `Value`

Créez les dimensions calculées suivantes :

* `=If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )`, pour renvoyer `NULL` si le champ `Value` n'a pas de valeur, un caractère de tiret (-) ou la valeur `NULL`, sinon renvoyer la valeur.

* `=If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F')`, pour renvoyer la valeur `T` (Vrai) ou `F` (Faux) selon que le champ `Value` contient ou non une valeur nulle.

Results table

| ID | Value | If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) | If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F') |
| --- | --- | --- | --- |
| 0 |  | - | T |
| 1 | NULL | - | T |
| 2 | - | - | T |
| 3 | 378 | 378 | F |

La colonne `Value` présente les données telles qu'elles ont été saisies dans le jeu de données. La première mesure (colonne 3) renvoie `NULL` pour les 3 premières lignes dont la valeur remplit les conditions de l'instruction `IF` : `len(trim(Value))= 0 or Value='NULL' or Value='-'`. La dernière ligne renvoie la valeur telle qu'elle a été saisie, `378`.

La deuxième mesure (colonne 4) prend la valeur de l'expression de la colonne 3 et renvoie `T` si la valeur est `NULL` ou `F` si elle n'est pas `NULL`. Les résultats montrent que les 3 premières lignes sont des valeurs nulles.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/IsNull.htm)

#### Script de chargement

Dans cet exemple, une table inline comportant quatre lignes est chargée, avec les trois premières lignes ne contenant rien, un tiret - ou le texte NULL dans la colonne `Value`. Nous convertissons ces valeurs en représentations de valeurs NULL réelles, avec l'instruction LOAD antérieure au milieu, à l'aide de la fonction Null.

La première instruction preceding LOAD ajoute un champ qui vérifie si la valeur correspond à NULL, en utilisant la fonction IsNull.

```
NullsDetectedAndConverted:
LOAD *,
If(IsNull(ValueNullConv), 'T', 'F') as IsItNull;

LOAD *,
If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) as ValueNullConv;

LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3, 378];
```

Voici la table résultante. Dans la colonne `ValueNullConv`, les valeurs `NULL` sont représentées par `-`.

Results table

| ID | Value | ValueNullConv | IsItNull |
| --- | --- | --- | --- |
| 0 |  | - | T |
| 1 | NULL | - | T |
| 2 | - | - | T |
| 3 | 378 | 378 | F |

## Exemple - Scénario IsNull

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/IsNull.htm)

#### Expression de graphique

Vue d'ensemble

Un jeu de données de ventes est analysé pour déterminer quels champs ont des valeurs nulles.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Variable `NULLINTERPRET` définie comme `NULL`.

* Champs suivants dans la table de données :

  * `SalesID`

  * `Name`

  * `Age`

  * `Email`

  * `Region`

  * `Status`

Script de chargement

```
Set NULLINTERPRET = NULL;
Example:
LOAD * Inline [
SalesID, Name, Age, Email, Region, Status
1, John Smith, 30, john@email.com, North, Active
2, Jane Doe, NULL, jane@email.com, South, Active
3, Bob Johnson, 45, NULL, East, Inactive
4, Alice Brown, 28, alice@email.com, West, Active
5, Charlie Lee, NULL, charlie@email.com, NULL, Active
6, Eva Green, 35, eva@email.com, North, NULL
7, David White, 50, NULL, South, Inactive
8, Fiona Black, 42, fiona@email.com, East, Active
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `SalesID`

* `Name`

Créez les dimensions calculées suivantes :

* `=If(IsNull(Age), 'Age unavailable', Age)`, pour renseigner le champ `Age` à l'aide de la valeur `Age unavailable` s'il est `NULL`.

* `=If(IsNull(Email), 'Email unavailable', Email)`, pour renseigner le champ `Email` à l'aide de la valeur `Email unavailable` s'il est `NULL`.

* `=If(IsNull(Region), 'Region unavailable', Region)`, pour renseigner le champ `Region` à l'aide de la valeur `Region unavailable` s'il est `NULL`.

Results table

| SalesID | Name | If(IsNull(Age), 'Age unavailable', Age | If(IsNull(Email), 'Email unavailable', Email) | If(IsNull(Region), 'Region unavailable', Region) |
| --- | --- | --- | --- | --- |
| 1 | John Smith | 30 | john@email.com | North |
| 2 | Jane Doe | Age unavailable | jane@email.com | South |
| 3 | Bob Johnson | 45 | Email unavailable | East |
| 4 | Alice Brown | 28 | alice@email.com | West |
| 5 | Charlie Lee | Age unavailable | charlie@email.com | Region unavailable |
| 6 | Eva Green | 35 | eva@email.com | North |
| 7 | David White | 50 | Email unavailable | South |
| 8 | Fiona Black | 42 | fiona@email.com | East |

Les résultats de la fonction `IsNull`, qui vérifie la présence de valeurs nulles et renvoie true si elle en trouve, indiquent que plusieurs champs du jeu de données contiennent des valeurs nulles. Par exemple, une valeur nulle a été identifiée dans la colonne `Age` pour `Charlie Lee` et la sortie `Age unavailable` a été renvoyée.