Salut,
Je viens de détecter 2 vilains bugs dans Tableaux/Résumé.
L'un d'entre eux peut même être utilisé pour faire planter JMP sur n'importe quel PC (!!!)
Bug 1) Veuillez lire ce code et prédire ce que Jmp fera :
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary(
Local Data Filter( Add Filter( columns( :sex ), Where( :sex == "X" ) ) ),
Group( :sex ),
Mean( :height ),
Link to original data table(0),
output table name( "average o students with sex = \!"X\!"" )
);
Dans BigClass, il n'y a aucun étudiant avec sex="X". Donc, je m'attendais à ce que la liste soit vide :
Filtre : sexe= "X" / pas de "X" dans le tableau -> tableau récapitulatif vide
Malheureusement, la logique dans Jmp est étonnamment différente :
Si le DataFilter ne trouve pas de correspondance, le filtre de données est réinitialisé et affiche TOUTES les données.
Pour les tableaux de bord, le dépistage des valeurs aberrantes (:alien:) avec Jmp Dashboards - comment ? TS-00046650, c'est "juste" ennuyeux que la restriction ne soit pas appliquée - pour l'analyse statistique automatique via Tableaux/Résumé le problème est plus grave : à la fin, il y a un mauvais résultat - pas de filtre de données à gauche d'un tableau de bord où l'utilisateur peut détecter et corriger le problème.
Depuis Jmp 17, il y a cette nouvelle fonctionnalité intéressante : Supprimer les lignes exclues
malheureusement il y a :
Bogue n°2 :
Si vous disposez de Jmp 17 ou Jmp 18 EA, essayez d'exécuter ce code deux fois : stockez vos données, Jmp plantera !
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary(
Local Data Filter( Add Filter( columns( :sex ), Where( :sex == "F" ) ) ),
Group( :sex ),
Mean( :height ),
Remove Excluded Groups,
Link to original data table(0)
);
// today no females
dt << Select where( :height < 67 ) << Exclude;
Après avoir exécuté le code pour la première fois, en raison de la restriction du filtre de données, le tableau récapitulatif affiche la taille moyenne des entrées féminines. Ensuite, la ligne à la fin du code exclut toutes les lignes d'une hauteur < 67, parmi lesquelles toutes les entrées féminines.
Maintenant, exécutez à nouveau le code :
Les lignes avec sex="F" sont toujours là, elles sont simplement exclues . Ainsi, par rapport au bug n°1, ici le filtre de données n'est pas réinitialisé.
Cela limitera l'analyse aux lignes avec sexe = "F". Ces lignes sont exclues par le filtre de données de la table de données.
Au total, il n’existe aucune ligne non exclue correspondante. En conséquence : Supprimer les lignes exclues a beaucoup à faire - et se met en colère.
Tellement en colère que Jmp plante.
Il est clair que sans faire correspondre les lignes, l'utilisateur bénéficiera peu du résultat. Mais dans un long script, cela pourrait donner quelque chose comme :
Veuillez faire la moyenne de la taille des étudiantes de la classe qui correspondent également à certains paramètres de filtre supplémentaires appliqués via le tableau principal.
Sous la ligne :
Supposons que je veuille compter les étudiantes dans une classe et calculer leur taille moyenne. En utilisant Jmp/Tables/Summary avec un filtre de données :
- s'il n'y a pas d'élèves filles dans la classe, Jmp comptera les élèves hommes et fera la moyenne de leurs âges (!!!)
- s'il y a >=1 étudiante dans la classe, mais que les lignes respectives ont été exclues, Jmp plantera (!!!)
[si Supprimer les lignes exclues est activé]
@hogi a écrit :
Pour les tableaux de bord, le dépistage des valeurs aberrantes (:alien:) avec Jmp Dashboards - comment ? TS-00046650, c'est "juste" ennuyeux que la restriction ne soit pas appliquée - pour l'analyse statistique automatique via Tableaux/Résumé le problème est plus grave : à la fin, il y a un mauvais résultat - pas de filtre de données à gauche d'un tableau de bord où l'utilisateur peut détecter et corriger le problème.
Même sujet -> même solution :
Filtre de données local : option : restreindre ou ne pas restreindre aux données actuelles
Salut Mandy, merci d'avoir examiné cela si rapidement.
J'ai reçu la piste TS aujourd'hui, je vais enquêter et je publierai tout ce qui sera trouvé.
Oui, je viens de recevoir le numéro de ticket : TS-00124252
@hogi
Très intéressant.
J'ai reproduit vos découvertes dans les JMP 17 et 18.
Je suppose que vous avez soumis ce problème à support@jmp.com