Changer le filtre dans une boucle forSalut,
À l'aide d'une boucle For, j'essaie de faire une analyse dans JMP et à chaque fois, une série de lignes sont filtrées pour cette analyse. Mon code est similaire à l'extrait ci-dessous. Le problème est que le filtre ne change pas à chaque itération et qu'il n'est implémenté que la première fois. J'ai essayé de trouver une solution en lisant le PDF d'aide de JMP, mais rien n'a fonctionné.
dt = Open(path to the file);
For( i = 1, i <= 10, i++,
df = dt << Data Filter(Invisible, Mode( Show( 1 ), Include( 1 ) ),
Add Filter( Columns( Tester ), Where( Tester = testerNames[i] ) ) );
Some analysis
print the report
);
Ingénierie de la qualité et des procédésRe : Changer le filtre dans une boucle forDéplacez le filtre en dehors de la boucle for et utilisez << Où modifier les valeurs du filtre
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
df = dt << Data Filter(
Mode(Show(1), Include(1)),
Add Filter(Columns(:Name))
);
names = Associative Array(:name) << get keys;
For(i = 1, i <= 10, i++,
df << (Filter Column(:name) << Where(:name == names[i]));
wait(1);
);Re : Changer le filtre dans une boucle for@jthi répondu à votre question, mais je me demande si c'est la meilleure approche, pour commencer. Vous créez un script pour votre analyse afin de pouvoir utiliser directement les fonctions d'état de ligne au lieu d'utiliser un filtre de données comme intermédiaire. Cette approche sélectionnerait les lignes qui répondent à un critère et effectuerait l'analyse.
Je ne suis pas contre votre approche, mais les objets de filtre de données sont principalement destinés à l'analyse interactive. Ils ne sont pas le seul moyen de filtrer vos données avec un script.
Re : Changer le filtre d'une boucle forSalut @LoglinearRange8 ,
Bien que @jthi a répondu à votre question, je pense que l'une des raisons pour lesquelles votre code ne fonctionne pas comme prévu est que vous ne fermiez pas la fenêtre Filtre de données. Si vous ajoutez une commande df< @jthi pour déplacer le filtre en dehors de la boucle for et n'avoir que les sélections à l'intérieur de la boucle for.
Vous pouvez également consulter un autre fil de @Mark_Bailey ici qui montre comment vous pouvez créer un script à partir de l'index de script.
je suis aussi d'accord avec @Mark_Bailey , ce n'est peut-être pas la meilleure approche pour automatiser votre workflow. Il pourrait y avoir de meilleures façons d'effectuer les analyses de données.
J'espère que cela t'aides!,
DS