Qu'est-ce que les valeurs système manquantes ?
Les valeurs système manquantes représentent des valeurs de données inconnues ou non applicables. Dans les bases de données, ces valeurs sont souvent appelées des valeurs NULL. Les valeurs système manquantes sont différentes des valeurs non renseignées. Les valeurs non renseignées sont en général définies dans le noeud Type comme des valeurs particulières, ou des plages de valeurs, qui peuvent être considérées comme des valeurs manquantes définies par l'utilisateur. Les valeurs non renseignées sont traitées différemment dans le contexte de la modélisation.
Construction des valeurs système manquantes
Les valeurs système manquantes peuvent être présentes dans les données lues à partir d'une source de données (par exemple les tables de base de données peuvent contenir des valeurs NULL). Les valeurs système manquantes peuvent être construites à l'aide de la valeur undef
dans les expressions. Par exemple, l'expression CLEM suivante renvoie Age
, si elle est inférieure ou égale à 30
, ou une valeur manquante si elle est supérieure à 30
:
if Age > 30 then undef else Age endif
Les valeurs manquantes peuvent aussi être créées lorsqu'une jointure externe est effectuée, lorsqu'un nombre est divisé par zéro, lorsque la racine carrée d'un nombre négatif est calculée, et dans d'autres cas.
Affichage des valeurs système manquantes
Les valeurs système manquantes s'affichent dans des tableaux et d’autres entrées sous la forme $null$
.
Test des valeurs système manquantes
Utilisez la fonction spéciale @NULL pour renvoyer true
si la valeur de l'argument
est une valeur système manquante. Par exemple :
if @NULL(MyFieldName) then 'It is null' else 'It is not null' endif
Transmission de valeurs système manquantes à des fonctions
Les valeurs système manquantes transmises aux fonctions propagent en général les valeurs système à la sortie. Par exemple, si la valeur du champ f1
est une valeur système manquante dans une ligne, alors l'expression log(f1)
est aussi évaluée comme une valeur système manquante dans cette ligne. Une exception est la fonction @NULL.
Valeurs système manquantes dans les expressions utilisant des opérateurs arithmétiques
L'application d'opérateurs arithmétiques aux valeurs comprenant une valeur système manquante a pour résultat une valeur système manquante. Par exemple, si la valeur du champ f1
est une valeur système manquante dans une ligne, alors l'expression f1 + 10
est aussi évaluée comme une valeur système manquante dans cette ligne.
Valeurs système manquantes dans les expressions utilisant des opérateurs logiques
Lorsque vous utilisez des valeurs système manquantes dans des expressions utilisant des opérateurs logiques, les règles de la logique à trois valeurs (true, false, et missing) s'appliquent et peuvent être décrites dans des table des valeurs vraies. Les tables des valeurs vraies des opérateurs logiques courants de not, and et or sont indiquées ci-après.
Opérande | Opérande NOT |
---|---|
Oui | Non |
Non | Oui |
manquant | manquant |
Operand1 | Operand2 | Opérande1 AND Opérande2 |
---|---|---|
Oui | Oui | Oui |
Oui | Non | Non |
Oui | manquant | manquant |
Non | Oui | Non |
Non | Non | Non |
Non | manquant | Non |
manquant | Oui | manquant |
manquant | Non | Non |
manquant | manquant | manquant |
Operand1 | Operand2 | Opérande1 OR Opérande2 |
---|---|---|
Oui | Oui | Oui |
Oui | Non | Oui |
Oui | manquant | Oui |
Non | Oui | Oui |
Non | Non | Non |
Non | manquant | manquant |
manquant | Oui | Oui |
manquant | Non | manquant |
manquant | manquant | manquant |
Valeurs système manquantes dans les expressions utilisant des opérateurs de comparaison
Lorsque vous comparez une valeur système manquante et une valeur manquante non système, le résultat donne une valeur système manquante et non un résultat true ou false. Les valeurs système manquantes peuvent être comparées entre elles. Deux valeurs système manquantes sont considérées comme égales.
Valeurs système manquantes dans les expressions if/then/else/endif
Lorsque vous utilisez des expressions conditionnelles et que l'expression conditionnelle renvoie une valeur système manquante, la valeur de la clause else
est renvoyée depuis l'expression conditionnelle.
Valeurs système manquantes dans le noeud Sélectionner
Pour un enregistrement, lorsque l'expression de sélection donne une valeur manquante, l'enregistrement n'est pas inclus dans la sortie du noeud Sélectionner (cette action s'applique aux modes Inclure et Supprimer).
Valeurs système manquantes dans le noeud Fusionner
Lorsque vous fusionnez à l'aide d'une clé, tous les enregistrements comportant des valeurs système manquantes dans un champ de clé ne sont pas fusionnés.
Valeurs système manquantes dans l'agrégation
Lorsque vous agrégez des données dans les colonnes, les valeurs manquantes ne sont pas inclues dans le calcul. Par exemple, dans une colonne avec trois valeurs { 1
, 2
et undef
}, la somme des valeurs de la colonne est calculée sous la forme 3
; la valeur moyenne est calculée sous la forme 1.5
.