IsNull - fonction de script et fonction 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 )
booléen
Argument | Description |
---|---|
expr | Expression ou champ contenant les données à mesurer. |
Exemple | Résultat |
---|---|
IsNull(Productname) |
Renvoie -1 (Vrai) si ProductName est une valeur nulle, sinon 0 (Faux). |
Exemple - Les bases de IsNull
Vue d'ensemble
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
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.
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.
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 -.
ID | Value | ValueNullConv |
IsItNull |
---|---|---|---|
0 | - | T | |
1 | NULL | - | T |
2 | - | - | T |
3 | 378 | 378 | F |
Exemple - Scénario IsNull
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 à un nouvel onglet.
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.
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.