Valeurs vides

Cet article a été traduit de l'anglais par IA et peut contenir des erreurs. Vos commentaires nous aideront à l'améliorer.

Les données manquantes, vides ou non applicables sont une considération importante pour tout système de gestion de données. Cet article décrit en détail comment ActivityInfo gère les « données manquantes » et comment il se compare à d'autres systèmes et langages de programmation.

Introduction

ActivityInfo, comme de nombreux systèmes de gestion de données, fonctionne exclusivement avec des valeurs « typées ». Tous les champs et expressions de formule dans ActivityInfo ont un type qui détermine la plage de valeurs autorisées. Un champ quantité ne peut jamais avoir la valeur « Bob », et un champ date n'aura jamais la valeur 42. Il en va de même pour un vecteur en R, une colonne dans une base de données relationnelle ou une variable SPSS.

Cependant, il peut y avoir de nombreuses raisons pour lesquelles une valeur peut être absente :

  • Un champ peut ne pas être pertinent pour chaque enregistrement ou chaque ligne. Par exemple, il se peut que seuls les réfugiés aient un numéro d'enregistrement du HCR.
  • Un champ peut ne pas être obligatoire. Tous les répondants à un questionnaire n'ont pas forcément de numéro de téléphone portable.
  • Un champ peut être ajouté après le début de la collecte de données, et nous n'avons aucune information sur les sujets collectés précédemment.
  • Un répondant à une enquête peut refuser de répondre à des questions spécifiques, ou peut ne pas savoir.
  • Il peut y avoir une erreur lors du calcul d'une valeur, par exemple, si vous divisez un nombre par zéro, ou si vous fournissez une expression régulière non valide à REGEXMATCH

Pour ces raisons, chaque type de formule ActivityInfo contient une valeur « vide » spéciale. Une expression numérique, par exemple, peut être égale à n'importe quel nombre réel, ou elle peut être vide. Une expression de date peut être égale à n'importe quelle date entre 1000 et 9999 de notre ère, ou elle peut être vide.

Calculs impliquant des valeurs vides

Dans les formules ActivityInfo, vous pouvez tester les valeurs vides en utilisant ISBLANK. Mais les valeurs vides peuvent aussi se retrouver dans les calculs. Par exemple, vous pourriez avoir un formulaire avec deux champs quantité pour le nombre de COUNT_WOMEN et COUNT_MEN, ainsi qu'un champ calculé TOTAL avec la formule COUNT_WOMEN + COUNT_MEN.

Que se passe-t-il si certains enregistrements contiennent des valeurs vides pour WOMEN, MEN ou les deux ? C'est un choix de conception : dans Excel, les cellules vides sont traitées comme des zéros dans le contexte de l'arithmétique. En SQL, cependant, NULL plus n'importe quel autre nombre est NULL, et en R, NA plus n'importe quel nombre est toujours NA.

ActivityInfo suit la convention d'Excel dans la plupart des cas, ce que nous avons jugé plus indulgent pour les utilisateurs non techniques. Ainsi, pour l'exemple ci-dessus, les résultats pourraient ressembler à ceci :

Centre de santé WOMEN MEN WOMEN + MEN ISBLANK(WOMEN + MEN)
A 300 150 450 FAUX
B 160 160 FAUX
C 75 75 FAUX
D VRAI
E 220 90 310 FAUX

Comme vous pouvez le voir dans le tableau ci-dessus, le champ calculé TOTAL n'est vide que lorsque WOMEN et MEN sont tous deux vides.

Chaînes de texte vides

Dans certains langages de programmation, il y a une différence entre une chaîne de texte vide ("") et une valeur NULL ou manquante. Par exemple en SQL, "" IS NULL est faux, et en R, is.na("") est également faux.

Cette distinction peut souvent dérouter les utilisateurs sans expérience en programmation, et c'est pourquoi ActivityInfo évite cette distinction : une chaîne de texte vide "" est identique à une valeur de texte vide :

ISBLANK("") == VRAI

Pendant la collecte de données, toute saisie dans un champ de texte sera débarrassée des espaces de début et de fin. Cela signifie que si vous ne tapez que des espaces dans un champ de texte, la valeur du champ sera vide :

Capture d'écran d'un formulaire de saisie de données avec calcul
Capture d'écran d'un formulaire de saisie de données avec calcul

Essayez vous-même

Les espaces de début et de fin ne sont pas supprimés des valeurs dans les formules, ce qui signifie qu'un texte contenant uniquement des espaces n'est pas considéré comme vide :

ISBLANK("  ") == FAUX
Élément suivant
SUMMARIZE