# EmptyIsNull Fonction de script et de graphique

La fonction EmptyIsNull convertit des chaînes vides en NULL. Ainsi, elle renvoie NULL si le paramètre est une chaîne vide ; sinon, elle renvoie le paramètre.

Syntaxe :

EmptyIsNull(exp )

Type de données renvoyé : NULL si le paramètre est une chaîne vide, sinon renvoie le paramètre

Arguments

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

Exemple : Expressions de graphique

| Exemple | Résultat |
| --- | --- |
| `EmptyIsNull(AdditionalComments)` | Cette expression renverra NULL pour toutes les valeurs de chaîne vides du champ `AdditionalComments` au lieu de chaînes vides. Les chaînes non vides et les nombres sont renvoyés. |
| `EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))` | Cette expression supprime tous les tirets, espaces et parenthèses du champ `PhoneNumber`. S'il ne reste plus de caractères, la fonction `EmptyIsNull` renvoie la chaîne vide comme NULL ; un numéro de téléphone phone number vide est identique à l'absence de numéro de téléphone phone number. |

## Exemple - Les bases de EmptyIsNull

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/EmptyIsNull.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 :

  * `CustomerID`

  * `OrderID`

  * `Product`

  * `Status`

  * `PhoneNumber`

Script de chargement

```
Example:
LOAD * inline [
CustomerID, OrderID, Product, Status, PhoneNumber
1, 1001, Widget,, (0123) 456 789
2, 1002, Gizmo, Open,-
3, 1003, Gadget, Closed,()
4, 1004, Widget,,678-9888
];
```

Résultats

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

* `CustomerID`

* `OrderID`

* `Product`

* `Status`

Créez les dimensions calculées suivantes :

* `=EmptyIsNull(Status)`, pour renvoyer comme NULL toute valeur de chaîne vide dans le champ `Status`.

* `=EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))`, pour supprimer tous les tirets, espaces et parenthèses du champ `PhoneNumber`. S'il ne reste plus de caractères, la fonction `EmptyIsNull` renvoie la chaîne vide comme NULL ; un numéro de téléphone vide est identique à l'absence de numéro de téléphone.

Note InformationsLe tableau suivant contient des cellules vides pour démontrer l'utilisation de la fonction `EmptyIsNull`.

Results table

| CustomerID | OrderID | Product | Status | EmptyIsNull(Status) | EmptyIsNull(PurgeChar(PhoneNumber, ' -()')) |
| --- | --- | --- | --- | --- | --- |
| 1 | 1001 | Widget |  | - | 0123456789 |
| 2 | 1002 | Gizmo | Open | Open | - |
| 3 | 1003 | Gadget | Closed | Closed | - |
| 4 | 1004 | Widget |  | - | 6789888 |

Dans la colonne `Status`, notez que les enregistrements contenant des valeurs vides apparaissent sous forme de cellules vides avec une couleur d'arrière-plan transparente par défaut. La sortie de la mesure `EmptyIsNull(Status)` renvoie NULL pour ces valeurs vides, comme l'indique le caractère de tiret (-) sur fond de cellule gris.

La deuxième mesure utilise la fonction `EmptyIsNull` avec [PurgeChar Fonction de script et de graphique](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm) pour supprimer tous les tirets (-), espaces et parenthèses () du champ `PhoneNumber`, puis renvoie toutes les chaînes vides restantes sous forme de NULL. Les cellules contenant des valeurs nulles apparaissent maintenant avec un tiret (-) et un formatage d'arrière-plan gris.

## Exemple - Remplacement des valeurs nulles par du texte et ajout d'un formatage conditionnel

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

#### Expression de graphique

Vue d'ensemble

Un responsable commercial souhaite analyser les données des ventes et identifier facilement les enregistrements auxquelles il manque des valeurs.

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`

  * `Name`

  * `Age`

  * `Email`

  * `Sales`

  * `Region`

  * `OrderStatus`

Script de chargement

```
Example:
LOAD * inline [
ID,Name, Age, Email, Sales, Region, OrderStatus
1, John Smith, 30, john@email.com, 1000, North, Active
2, Jane Doe, '', jane@email.com, 1500, South, Active
3, Bob Johnson, 45, '', 800, East, Inactive
4, Alice Brown, 28, alice@email.com, '', West, Active
5, Charlie Lee, '', charlie@email.com, 1200, '', Active
6, Eva Green, 35, eva@email.com, 950, North, ''
7, David White, 50, '', '', South, Inactive
8, Fiona Black, 42, fiona@email.com, 1100, East, Active
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

* `ID`

Créez les dimensions calculées suivantes :

* `=If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age))`, pour renvoyer comme NULL toute valeur de chaîne vide dans le champ `Age`, puis identifier toutes les valeurs nulles et les remplacer par la valeur `NULL` au lieu d'un caractère de tiret (`-`).

* `=If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email))`, pour renvoyer comme NULL toute valeur de chaîne vide dans le champ `Email`, puis identifier toutes les valeurs nulles et les remplacer par la valeur `NULL` au lieu d'un caractère de tiret (`-`).

* `=If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales))`, pour renvoyer comme NULL toute valeur de chaîne vide dans le champ `Sales`, puis identifier toutes les valeurs nulles et les remplacer par la valeur `NULL` au lieu d'un caractère de tiret (`-`).

* `=If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region))`, pour renvoyer comme NULL toute valeur de chaîne vide dans le champ `Region`, puis identifier toutes les valeurs nulles et les remplacer par la valeur `NULL` au lieu d'un caractère de tiret (`-`).

* `=If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus))`, pour renvoyer comme NULL toute valeur de chaîne vide dans le champ `OrderStatus`, puis identifier toutes les valeurs nulles et les remplacer par la valeur `NULL` au lieu d'un caractère de tiret (`-`).

Définissez le formatage conditionnel des cellules de sorte que la couleur d'arrière-plan soit rouge pour les valeurs `NULL` et verte pour toutes les autres valeurs. Dans le panneau Propriétés de chaque dimension et de chaque mesure, saisissez les expressions suivantes comme Expression de la couleur d'arrière-plan :

* `ID` (dimension) : `=RGB(200,255,200)`

* `Age` (mesure) : `=If(IsNull(EmptyIsNull(Age)), RGB(255,200,200), RGB(200,255,200))`

* `Email` (mesure) : `=If(IsNull(EmptyIsNull(Email)), RGB(255,200,200), RGB(200,255,200))`

* `Sales` (mesure) : `=If(IsNull(EmptyIsNull(Sales)), RGB(255,200,200), RGB(200,255,200))`

* `Region` (mesure) : `=If(IsNull(EmptyIsNull(Region)), RGB(255,200,200), RGB(200,255,200))`

* `OrderStatus` (mesure) : `=If(IsNull(EmptyIsNull(OrderStatus)), RGB(255,200,200), RGB(200,255,200))`

Results table

| ID | If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age)) | If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email)) | If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales)) | If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region)) | If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus)) |
| --- | --- | --- | --- | --- | --- |
| 1 | 30 | john@email.com | 1000 | North | Active |
| 2 | NULL | jane@email.com | 1500 | South | Active |
| 3 | 45 | NULL | 800 | East | Inactive |
| 4 | 28 | alice@email.com | NULL | West | Active |
| 5 | NULL | charlie@email.com | 1200 | NULL | Active |
| 6 | 35 | eva@email.com | 950 | North | NULL |
| 7 | 50 | NULL | NULL | South | Inactive |
| 8 | 42 | fiona@email.com | 1100 | East | Active |

Les résultats montrent qu'en utilisant la fonction `EmptyIsNull` et en ajoutant un formatage conditionnel, vous pouvez facilement identifier les enregistrements auxquels il manque des valeurs.