Manipulation des valeurs NULL
Lorsqu'aucune donnée ne peut être produite pour un champ donné à la suite d'une requête de base de données et/ou d'une jointure de tables, le résultat est normalement une valeur NULL.
Vue d'ensemble
La logique de Qlik Sense traite les valeurs suivantes comme des valeurs NULL réelles :
-
valeurs NULL renvoyées par une connexion ODBC
-
valeurs NULL créées à la suite d'une concaténation de tables forcée dans le script de chargement de données
-
valeurs NULL créées à la suite d'une jointure effectuée dans le script de chargement de données
-
valeurs NULL créées à la suite de la génération de combinaisons de valeurs de champ à afficher dans une table
Pour plus d'informations sur NullAsValue, voir NullAsValue.
Les fichiers texte, par définition, ne peuvent pas contenir de valeurs NULL.
Association/sélection de valeurs NULL à partir de ODBC
Il est possible d'associer et/ou de sélectionner des valeurs NULLprovenant d'une source de données ODBC. Une variable de script a été définie à cette fin. La syntaxe suivante peut être utilisée :
Le symbole <sym> remplace toutes les valeurs NULL de la source de données ODBC au niveau d'entrée de données le plus bas. <sym> peut représenter n'importe quelle chaîne.
Pour rétablir l'interprétation par défaut de cette fonctionnalité, utilisez la syntaxe suivante :
SET NULLDISPLAY=;
Si vous voulez que la logique Qlik Sense interprète les valeurs NULL renvoyées par une connexion ODBC sous forme de chaîne vide, ajoutez ce qui suit à votre script avant toute instruction SELECT :
SET NULLDISPLAY=";
Pour plus d'informations sur NullDisplay, voir NullDisplay .
Création de valeurs NULL à partir de fichiers texte
Il est possible de définir un symbole qui, lorsqu'il figure dans un fichier texte ou dans une clause inline, est interprété comme une valeur NULL réelle. Utilisez l'instruction suivante :
Le symbole <sym> est à interpréter comme une valeur NULL. <sym> peut représenter n'importe quelle chaîne.
Pour rétablir l'interprétation par défaut de cette fonctionnalité, utilisez :
SET NULLINTERPRET=;
Pour plus d'informations sur NullInterpret, voir NullInterpret .
Propagation de valeurs NULL dans les expressions
Les valeurs NULL se propagent dans une expression selon certaines règles logiques et de bon sens.
Fonctions
D'après la règle générale, une fonction renvoie la valeur NULL lorsque les paramètres se trouvent en dehors de la plage pour laquelle la fonction est définie.
Expression | Résultat |
---|---|
asin(2) | renvoie NULL |
log(-5) | renvoie NULL |
round(A,0) | renvoie NULL |
Il s'ensuit que les fonctions renvoient généralement la valeur NULL lorsque l'un des paramètres nécessaires à l'évaluation est NULL.
Expression | Résultat |
---|---|
sin(NULL) | renvoie NULL |
chr(NULL) | renvoie NULL |
if(NULL, A, B) | renvoie B |
if(True, NULL, A) | renvoie NULL |
if(True, A, NULL) | renvoie A |
Les fonctions logiques qui testent le type de données sont l'exception à la deuxième règle.
Expression | Résultat |
---|---|
isnull(NULL) | renvoie True (-1) |
isnum(NULL) | renvoie False (0) |
Opérateurs arithmétiques et opérateurs de chaîne
Si NULL se trouve d'un côté ou de l'autre de ces opérateurs, la fonction renvoie la valeur NULL.
Expression | Résultat |
---|---|
A + NULL | renvoie NULL |
A - NULL | renvoie NULL |
A / NULL | renvoie NULL |
A * NULL | renvoie NULL |
NULL / A | renvoie NULL |
0 / NULL | renvoie NULL |
0 * NULL | renvoie NULL |
A & NULL | renvoie A |
Opérateurs relationnels
Si NULL se trouve d'un côté ou de l'autre des opérateurs relationnels, des règles spécifiques s'appliquent.
Expression | Résultat |
---|---|
NULL (tout opérateur relationnel) NULL | renvoie NULL |
A <> NULL | renvoie True (-1) |
A < NULL | renvoie False (0) |
A <= NULL | renvoie False (0) |
A = NULL | renvoie False (0) |
A >= NULL | renvoie False (0) |
A > NULL | renvoie False (0) |