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

Remarque: Il est généralement impossible d'utiliser ces valeurs NULL pour des associations et des sélections, excepté lorsque l'instruction NullAsValue est employée.

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 d'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 :

SET NULLDISPLAY=<sym>;

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

Remarque: L'utilisation de NULLDISPLAY concerne uniquement les données d'une source de données ODBC.

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

Remarque: Dans cet exemple, les guillemets '' correspondent en réalité à deux guillemets simples sans espace entre eux.

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 :

SET NULLINTERPRET=<sym>;

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

Remarque: L'utilisation de NULLINTERPRET concerne uniquement les données de fichiers texte et de clauses inline.

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.

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

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

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

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

Exemples
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)