dt : image - manquante ?Quelle est la bonne façon de vérifier si une image dans une table de données est manquante ?
... et pourquoi y a-t-il une différence entre la formule de la colonne et la question JSL
est manquant (:pet[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 scriptsFusion et nettoyage des donnéesRe: dt: image - manquante ?Il 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 Is None ? pour vérifier si les objets/variables/... sont vides/manquants
Ajoutez 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 question actuelle :
New Column( "type",Formula( type( :pet ) ));
type(pet[5])
Le type dans votre exemple est soit « Image » soit « Numéro ».
Et l'autre question : la formule de colonne génère 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. Elle ne fait pas ce que je veux qu'elle fasse lorsque son argument n'est pas un nombre, ou peut-être une chaîne. Essayez ceci :
is number(:pet[5]) & is missing(:pet[5])