Question de script JMP<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je suis un nouvel utilisateur qui essaie d'apprendre le script JMP. J'ai un script très simple mais j'ai rencontré un résultat attendu. Peut-être que quelqu'un peut me donner un pointeur sur ce que j'ai fait de mal ici. Merci d'avance. (BTW: J'utilise JMP 8.02)
J'ai un tableau très simple comme ci-dessous (test1.csv):
| Tool_first | Tool_second | Temps de traitement | Tool_third | Groupe 1 | Real_beta | Base |
| UNE | C | 03/04/2011 0:53 | E | AE | 0,0058 | Y |
| UNE | C | 03/04/2011 1:08 | E | AE | 0,0058 | Y |
| UNE | C | 03/04/2011 5:27 | E | AE | 0,0058 | Y |
| UNE | C | 03/04/2011 6:26 | E | AE | 0,0058 | Y |
| UNE | ré | 03/04/2011 6:39 | E | AE | 0,0058 | Y |
| UNE | C | 03/04/2011 6:49 | E | AE | 0,0058 | Y |
| UNE | C | 03/04/2011 18:43 | E | AE | 0,0058 | Y |
| UNE | C | 03/04/2011 23:42 | E | AE | 0,0058 | Y |
| UNE | C | 04/04/2011 5:20 | E | AE | 0,0058 | Y |
| UNE | C | 04/04/2011 8h34 | E | AE | 0,0058 | Y |
| UNE | C | 04/04/2011 10:43 | E | AE | 0,0058 | Y |
| UNE | ré | 04/04/2011 11:02 | E | AE | 0,0058 | Y |
| UNE | C | 04/04/2011 13:57 | E | AE | 0,0058 | Y |
| UNE | C | 04/04/2011 14:28 | E | AE | 0,0058 | Y |
| UNE | ré | 04/04/2011 16:43 | E | AE | 0,0058 | Y |
| UNE | C | 04/04/2011 20:01 | E | AE | 0,0058 | Y |
| UNE | C | 04/04/2011 20:17 | E | AE | 0,0058 | Y |
| UNE | ré | 04/04/2011 21:45 | E | AE | 0,0058 | Y |
| UNE | C | 4/5/2011 18:20 | E | AE | 0,0058 | Y |
| UNE | ré | 4/5/2011 20:02 | E | AE | 0,0058 | Y |
| UNE | C | 4/5/2011 20:35 | E | AE | 0,0058 | Y |
Le script suivant lit dans le fichier .csv et ajoute deux colonnes supplémentaires à la table en comparant une ligne avec la précédente. Mon script est ci-dessous
Source_Table = Open ("c: \ test1.csv");
Source_Table << Sort (By (group_1, process_time), order (Ascending), Replace Table);
nouvelle colonne ("Inspect_pt",
formule(
si (rangée () == 1,1,
(: group_1 [row ()]! =: group_1 [row () - 1]), 1,
(: groupe_1 [rangée ()] ==: groupe_1 [rangée () - 1]), 0)));
nouvelle colonne ("tool_Change",
formule(
si (rangée () == 1,1,
(: tool_second [row ()]!! =: tool_second [row () - 1]), 1,
(: tool_second [row ()] ==: tool_second [row () - 1]), 0
)
)
)
show (table de données actuelle ());
/ * essaie de sortir la valeur des deux dernières colonnes * /
pour (i = 1, i ,: tool_Change );
La table de résultats est OK mais la dernière ligne du script n'a renvoyé aucun résultat sur les deux colonnes nouvellement créées. La fenêtre du journal a montré que l'index devient: i.
Tableau de sortie:
[Image manquante]
Mais la fenêtre du journal a montré que le résultat des deux dernières colonnes n’a pas été tiré correctement. Ai-je utilisé la mauvaise indexation? Journal de la sortie de la fenêtre ici:
Table de données actuelle: DataTable ("test1")
i: 1
Rangée: 1
: Inspect_pt [:: i] :. <- ce n'est pas correct
: tool_Change [:: i] :. <- ce n'est pas correct
i: 2
Rangée: 2
: Inspect_pt [:: i] :.
: tool_Change [:: i] :.
i: 3
Rangée: 3
: Inspect_pt [:: i] :.
: tool_Change [:: i] :.
i: 4
Rangée: 4
: Inspect_pt [:: i] :.
: tool_Change [:: i] :.
Question de script JMPMerci à tous pour vos précieuses informations. Ce forum est génial.
Question de script JMPCela devient particulièrement important lorsque vous écrivez des scripts qui utilisent les valeurs de processus antérieurs pour déterminer comment procéder (par exemple, Sélectionnez Where (: tool_change == 1) pour le sous-ensemble). En insérant une ligne "Exécuter les formules" à la fin d'un bloc de code comme celui-ci, vous indiquez à JMP de mettre en pause, d'évaluer toutes les formules en attente, puis de poursuivre le reste du script.
Je ne suis pas aussi familier avec le comportement de la «formule eval» (j'utilise généralement des «formules d'exécution» - juste une question d'habitude), donc c'est de la spéculation, mais en fonction des processus spécifiques, je pourrais voir des différences de situation qui favoriseraient » formule eval 'over' run formules '(lorsque vous ne vous préoccupez que d'une formule pour prendre une décision, vous pouvez uniquement lui demander d'évaluer cette formule, en conservant les évaluations de formule restantes pour plus tard). La différence ici dépend vraiment du nombre d’évaluations de formules que vous devez faire et du moment où vous voulez les faire.
Question de script JMPsalut
JMP ne termine pas une "commande" avant de passer à la suivante - il lit la commande "nouvelle colonne" et commence à l'exécuter, mais continue de lire et d'exécuter les commandes suivantes.
Ce qui se passe ici, c’est que les commandes 'New Column' ne sont pas terminées (ce type de commande prend un certain temps car les graphiques doivent être mis à jour), avant que JMP ne lise la dernière ligne avec les commandes 'show'. valeurs dans les colonnes au moment où cette commande est exécutée.
Vous pouvez soit "vider" les formules comme ci-dessus, soit insérer directement une "formule eval" dans la commande "nouvelle colonne", par exemple:
nouvelle colonne ("titre", numérique, formule (: X1 *: X2), formule eval);
Pour autant que je sache, les deux approches ont le même effet.
BR, Marianne
PS: Je ne suis pas de JMP
Question de script JMPSalut HY,
Je ne sais pas exactement pourquoi vous avez besoin de cette déclaration. Elle provient du support technique de JMP. Peut-être que quelqu'un de JMP pourrait expliquer?
Cordialement,
Peter
Question de script JMPMerci PMroz. Cela a fait le tour. Pour mon propre bénéfice, pouvez-vous s'il vous plaît préciser ce qui se passait et pourquoi une ligne supplémentaire est nécessaire pour que cela fonctionne. Merci encore
Question de script JMPEssayez de "vider" le tampon de formule de JMP avec cette instruction:
Source_Table << exécute des formules;
Ajoutez cette ligne après vos définitions de formule.