dt : image - manquante ?Quelle est la bonne façon de vérifier si une image est manquante dans un tableau de données ?
... et pourquoi y a-t-il une différence entre la formule de colonne et la question JSL
est manquant(:animal[5])
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
dt[[4],"pet"]=.;
New Column( "is missing",Formula( Is Missing( :pet ) ));
New Column( "is empty", Formula( Is Empty( :pet ) ));
New Column( "is number",Formula( Is Number( :pet ) ));
New Column( "is expr",Formula( Is expr( :pet ) ));
write("is missing:");
Show(is missing(:pet[4]));
Try(Show(is missing(:pet[5])), Print("is missing: error with existing image"));
write("\!n\!nis empty");
Show(is empty(:pet[4]));
Show(is empty(:pet[5]));
write("\!n\!nis number");
Show(is number(:pet[4]));
Show(is number(:pet[5]));
write("\!n\!nis expr");
Show(is expr(:pet[4]));
Show(is expr(:pet[5]));Automatisation et scriptsMélange et nettoyage des donnéesRe : dt : image - manquante ?Cela peut être compliqué dans JMP de vérifier si les objets sont vides, manquants, nuls, aucun, n'ont aucun élément et vous vous retrouverez très rapidement dans une situation qui nécessite plusieurs vérifications pour éviter différents types d'erreurs. J'ai créé un élément de liste de souhaits pour avoir une sorte de type universel de fonction. Est-ce qu'il n'y a aucun ? pour vérifier si les objets/variables/... sont vides/manquants
Ajouter une fonction qui peut être utilisée universellement pour vérifier si l'objet/la variable est vide/manquant
Re : dt : image - manquante ?Et une meilleure réponse à la vraie question :
New Column( "type",Formula( type( :pet ) ));
type(pet[5])
Le type dans votre exemple est « Image » ou « Nombre ».
Et l'autre question : la formule de colonne propose probablement une valeur de chaîne pour l'expression. Vous pouvez utiliser isMissing sur une chaîne. Vous pouvez faire en sorte que le JSL se comporte de la même manière, comme ceci :
row()=5;ismissing(:pet)
Re : dt : image - manquante ?Je trouve la fonction isMissing() difficile à utiliser. Il ne fait pas ce que je veux qu'il fasse lorsque son argument n'est pas un nombre, ni peut-être une chaîne. Essaye ça:
is number(:pet[5]) & is missing(:pet[5])