Attendre (0) vs Attendre (n) vs Exécuter vs TerminerJ'ai des tables de données très volumineuses et en croissance constante, j'ai donc des problèmes avec les formules qui ne se terminent pas. J'aimerais que JMP intègre simplement un mécanisme pour empêcher les scripts de continuer jusqu'à ce que chaque ligne soit terminée, mais il y a peut-être une raison de ne pas le faire à laquelle je ne pense pas. J'utilise généralement une commande wait(n) (par exemple, wait(30);) mais à mesure que l'ensemble de données grandit, je dois constamment mettre à jour d'innombrables instances de "wait" à travers les milliers de lignes de code à mesure que les tables deviennent trop grandes pour certains lignes de code pour terminer l'évaluation. J'ai pensé plus tard que j'avais appris que wait(0); serait dynamique. Il attendrait aussi longtemps que nécessaire pour terminer l'évaluation avant de passer à la ligne suivante, donc j'ai tout changé en wait(0), mais maintenant de nombreuses lignes ne se terminent pas et donc le script se brise. Ai-je tort de penser que le wait(0); commande serait dynamique comme je l'ai décrit? J'ai essayé les commandes "Exécuter" et "Terminer" mais aucune n'a fonctionné. Je suis retourné et j'ai mis, par exemple, un wait(30); à un endroit et cela a fonctionné à nouveau .. alors suis-je coincé avec ces incréments de temps statiques que je devrai inévitablement continuer à changer au fil du temps .. ou est-ce que je fais quelque chose de mal ici?
Automatisation et scriptRe : Attendre (0) vs Attendre (n) vs Exécuter vs TerminerJe pense que si vous avez des formules dans les tables que vous rejoignez/mettez à jour, cela pourrait aider. Je pense que je n'ai jamais eu de problèmes directement liés aux tables de données JMP qui m'auraient obligé à utiliser l'attente (la plupart des problèmes ont été liés à certaines variables qui n'obtiennent pas de valeurs ou à des visualisations dans une nouvelle fenêtre). Je ne connais pas suffisamment de détails techniques sur ce que fait JMP en arrière-plan, alors vous pourriez peut-être essayer d'envoyer un e-mail support@jmp.com à l'aide? Marquage également @Jeff_Perkinson basé sur cette ancienne réponse Comment puis-je forcer mon script à s'exécuter séquentiellement ?
Quelques questions :
Utilisez-vous Current Datatable() pour faire référence à des tables de données ? Quelle version de JMP utilisez-vous ?
Liens:
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/scripting-data-tables.shtml#ww2071832
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/scripting-numbers-strings-arrays-and-lists.shtml#
Re : Attendre (0) vs Attendre (n) vs Exécuter vs TerminerJ'aurais dû préciser que ce ne sont pas seulement des évaluations de formules, mais des actions comme ouvrir et joindre ou mettre à jour une autre table, trier une table, etc. Ces commandes fonctionneront-elles sur des choses qui ne sont pas des formules?
Re : Attendre (0) vs Attendre (n) vs Exécuter vs TerminerAs-tu essayé d'utiliser :
dt << Run Formulas();
ou
dt << Rerun Formulas;
à ma connaissance avec ces JMP devrait attendre la fin de l'évaluation de la formule avant de continuer.
Autres options possibles : Des formules sont-elles également nécessaires ? Pourriez-vous gérer avec << Définir chaque valeur au lieu de formules ? Peut-être aussi l'utilisation de dt << Commencer la mise à jour des données ; et dt << Fin de la mise à jour des données ; pourrait être utile.