Partager via


Manipulation de valeurs vides

Une valeur vide indique qu'un membre, tuple ou cellule spécifique est vide. Une valeur de cellule vide signifie soit que les données de la cellule spécifiée sont introuvables dans la table de faits sous-jacente, soit que le tuple de la cellule spécifiée représente une combinaison de membres qui n'est pas applicable à ce cube.

ms145626.note(fr-fr,SQL.90).gifRemarque :
Même si une valeur vide est différente d'une valeur zéro, une valeur vide est généralement considérée comme telle la plupart du temps.

Les informations suivantes s'appliquent aux valeurs vides :

  • la fonction IsEmpty retourne TRUE si et seulement si la cellule identifiée par le tuple spécifié dans la fonction est vide. Sinon, la fonction retourne FALSE ;
    ms145626.note(fr-fr,SQL.90).gifRemarque :
    la fonction IsEmpty ne peut pas déterminer si un membre est vide. Pour déterminer si un membre est vide, utilisez l'opérateur IS ;
  • lorsque la valeur de cellule vide est l'opérande d'un opérateur numérique quelconque (+, -, *, /), elle est considérée comme le chiffre zéro si l'autre opérande est une valeur non vide. Si les deux opérandes sont vides, l'opérateur numérique retourne la valeur de cellule vide ;
  • lorsque la valeur de cellule vide est l'opérande de l'opérateur de concaténation de chaîne (+), elle est considérée comme une chaîne vide si l'autre opérande est une valeur non vide. Si les deux opérandes sont vides, l'opérateur de concaténation de chaîne retourne la valeur de cellule vide ;
  • lorsque la valeur de cellule vide est un opérande d'un opérateur de comparaison quelconque (=, <>, >=, <=, >, <), elle est considérée comme le chiffre zéro ou comme une chaîne vide, selon que des données de l'autre opérande sont de type numérique ou chaîne, respectivement. Si les deux opérandes sont vides, ils sont considérés comme le chiffre zéro ;
  • lors d'un classement de valeurs numériques, la valeur de cellule vide occupe la même position que le chiffre zéro. S'ils sont tous deux présents, la valeur de cellule vide se place avant le chiffre zéro ;
  • lors d'un classement de valeurs de type chaîne, la valeur de cellule vide occupe la même position que la chaîne vide. Si elles sont toutes deux présentes, la valeur de cellule vide se place avant la chaîne vide.

Traitement des valeurs vides dans les instructions et cubes MDX

Dans les instructions MDX (Multidimensional Expressions), vous pouvez rechercher les valeurs vides, puis effectuer certains calculs sur les cellules contenant des données valides (c'est-à-dire non vides). L'élimination de valeurs vides lors des calculs peut s'avérer importante pour certains calculs (tels que les moyennes) risquant d'être faussés par la présence de valeurs de cellule vides.

Si des valeurs vides peuvent être stockées dans les données de votre table de faits sous-jacente et si vous ne souhaitez pas que les valeurs de cellule vides apparaissent dans votre cube, vous devez créer des requêtes et des instructions de modification de données qui éliminent les valeurs vides ou les fusionnent avec une autre valeur. En outre, vous pouvez utiliser l'option Traitement NULL sur une mesure pour modifier les faits NULL afin que la valeur NULL soit convertie en 0, en une valeur vide ou même lève une erreur lors de son traitement.

Valeurs vides et opérateurs de comparaison

En présence de valeurs vides dans les données, les opérateurs logiques et ceux de comparaison peuvent retourner UNKNOWN plutôt que TRUE ou FALSE. Cette logique tri-valuée nécessaire est source de nombreuses erreurs dans les applications. Ces tableaux présentent les effets dus à l'introduction de valeurs vides dans les comparaisons.

Ce tableau représente les résultats de l'application d'un opérateur AND à deux opérandes booléens.

AND TRUE EMPTY FALSE

TRUE

TRUE

FALSE

FALSE

EMPTY

FALSE

EMPTY

FALSE

FALSE

FALSE

FALSE

FALSE

Ce tableau représente les résultats de l'application d'un opérateur OR à deux opérandes booléens.

OR TRUE FALSE

TRUE

TRUE

TRUE

EMPTY

TRUE

TRUE

FALSE

TRUE

FALSE

Ce tableau illustre la manière dont l'opérateur NOT négocie ou annule le résultat d'un opérateur booléen.

Expression booléenne à laquelle l'opérateur NOT est appliquée est évalué à

TRUE

FALSE

EMPTY

EMPTY

FALSE

TRUE

Voir aussi

Référence

Guide de référence des fonctions MDX (MDX)
Référence des opérateurs MDX (MDX)

Concepts

Expressions (MDX)

Autres ressources

Définition et configuration de l'utilisation et des relations d'une dimension
Leçon 5 : Définition des relations entre les dimensions et les groupes de mesures

Aide et Informations

Assistance sur SQL Server 2005