Coincé sur le modalBonjour à tous,
J'espérais que quelqu'un puisse m'aider avec Modal, auparavant je calculais FV dans mon script JMP comme suit :
Finalivc2 << New Column( "Runs", Numeric, Continuous );
:Runs<<SET each="" value=""></SET>
ce qui a bien fonctionné, même si j'oubliais parfois de mettre à jour les paramètres : Runs et : Replicates per run, ce qui m'a donné du fil à retordre, j'ai décidé d'automatiser ce processus en utilisant modal comme suit
FV_param = New Window ("Format Variability Parameters", << Modal, << Return Result,
Text Box ("Select Format Variability Parameters"),//Create the display box
HListBox(
LineupBox (NCol (2),
Text Box ("Runs NOT REPLICATES"), Runs = numberEditBox(2),
Text Box ("Replicates NOT RUNS"), Replicates per Run = numberEditBox(1),
), // end of lineupbox
LineupBox ( NCol (1), ButtonBox ("OK"), ButtonBox ("Cancel"))
) // end HListBox
);
show (FV_param, FV_param ["Runs"], FV_param ["Replicates per Run"],
FV_param ["Button"] );
If (FV_param ["Button"] == -1,
Caption (" Wait...Aborting..."); Wait (3) ; Caption(Remove); Throw());
StatusMsg ("Processing next steps");
RemoveFrom (FV_param, NItems(FV_param)); // Removes the last item "Button 1" from the assignment list
Eval List(FV_param); // the assignment from the display box
Eval(
Substitute(
Expr( Finalivc2 = New Column( "Runs", Numeric, "Continuous", Format( "Best", 12 ),
Expr( Finalivc2 = New Column( "Replicates per Run", Numeric, "Continuous", Format( "Best", 12 ),
)
),
Expr( __FV_param__ ), Runs, Replicates per Run
)
)));
Finalivc2 << New Column( "Format Variability %GCV", Numeric, Continuous, Formula( ((2^root(((:IR)/(:Runs)+(:Residual)/(:Replicates per Run*:Runs)),2))-1)*100 ), Format( "fixed dec", 4, 1 ) );Je n'ai aucun doute que je fais l'évaluation et la substitution de manière incorrecte, je n'obtiens pas les variables s'exécute et Relicates par exécution dans le tableau, et il ne fait alors pas le calcul, quelqu'un peut-il s'il vous plaît offrir de l'aide
Merci
Re : Bloqué sur ModalSalut pmroz,
Merci beaucoup pour votre réponse, j'ai accepté le post de Craige d'hier comme solution, j'avais manqué le code d'hier.
Salutations,
Mickyboy.
Re : Bloqué sur ModalSalut Graige,
Votre solution d'hier était correcte, je manque de code, j'ai utilisé
dt<< nouvelle colonne au lieu de finalivc2<
| Courses | Répétitions par exécution | Format Variabilité %GCV |
| 2 | 1 | 26.1 |
| 2 | 1 | 25,9 |
| 2 | 1 | 29 |
| 2 | 1 | 28.4 |
| 2 | 1 | 29 |
| 2 | 1 | 29.6 |
| 2 | 1 | 28.4 |
| 2 | 1 | 28.4 |
| 2 | 1 | 20.7 |
Mes sincères excuses, cela fonctionne très bien, merci beaucoup pour votre patience et votre aide, c'est très apprécié.
Sincères salutations
Mickyboy
Re : Bloqué sur ModalJe ne sais pas d'où vient le journal ni pourquoi il dirait cela. Je lance votre code, avec un dt ouvert, et j'obtiens ceci:
columns added with values setcolonnes ajoutées avec des valeurs définies
je pense @pmroz answer ne renvoie pas les valeurs via <
Votre table est-elle créée avec les colonnes et les valeurs maintenant ? Il y a peut-être un autre problème après ça.
Re : Bloqué sur ModalVous essayez d'utiliser les variables de la zone d'édition numérique comme valeurs saisies.Vous ne pouvez pas faire cela; à la place, vous devez extraire les valeurs des zones d'édition de nombre en utilisant << obtenir .Dans le code ci-dessous, j'ai ajouté _bec aux variables :
FV_param = New Window( "Format Variability Parameters",
<<MODAL></MODAL>
Re : Bloqué sur ModalSalut Craige,
J'utilise la même version 14, donc maintenant mon code ressemble à ceci
FV_param = New Window ("Format Variability Parameters", << Modal, << Return Result,
Text Box ("Select Format Variability Parameters"),//Create the display box
HListBox(
LineupBox (NCol (2),
Text Box ("Runs NOT REPLICATES"), Runs = numberEditBox(2),
Text Box ("Replicates NOT RUNS"), Replicates per Run = numberEditBox(1),
), // end of lineupbox
LineupBox ( NCol (1), ButtonBox ("OK"), ButtonBox ("Cancel"))
) // end HListBox
);
show (FV_param, FV_param ["Runs"], FV_param ["Replicates per Run"],
FV_param ["Button"] );
If (FV_param ["Button"] == -1,
Caption (" Wait...Aborting..."); Wait (3) ; Caption(Remove); Throw());
StatusMsg ("Processing next steps");
RemoveFrom (FV_param, NItems(FV_param)); // Removes the last item "Button 1" from the assignment list
Eval List(FV_param); // the assignment from the display box
dt<<NEW column=""></NEW>mais il ne définira toujours pas la valeur sur ce qui a été entré dans les boîtes modales, je reçois ceci dans le Journal :
Format Variabilité %GCV
.
.
.
.
.
.
.
.
.
Aucune valeur n'est publiée dans les journaux.
Des idées??
Merci pour ton aide
Re : Bloqué sur Modal(Quelle version de JMP utilisez-vous ? je suis sur 14...)
Vous n'avez pas besoin d'utiliser substitut(...). Essayez de remplacer votre eval( ... substituer(... (expr(... code avec quelque chose comme
dt<<NEW column=""></NEW>
Dans votre exemple, l'imbrication des parenthèses a laissé substituer(eval(...)) avec un seul argument à substituer. La substitution nécessite (éditez deux -> trois) trois arguments.
Re : Bloqué sur ModalSalut Craige,
J'ai eu un certain temps pour essayer d'exécuter le script avec votre suggestion, toujours pas exécuté, obtenir la même erreur dans le débogage, pas assez d'arguments dans l'accès à l'évaluation du substitut.
Salutations
Mickyboy
Re : Bloqué sur ModalSalut Craige,
J'ai manqué de temps aujourd'hui, mais j'essaierai cela dans la matinée et je vous ferai savoir que le problème que j'avais était d'évaluer et de remplacer les valeurs des boîtes de dialogue par l'équation.
Merci
Re : Bloqué sur Modalla dernière partie de votre script devrait ressembler à ceci. Vous pouvez également rencontrer des problèmes de dénomination avec des noms de variables JSL et des noms de colonnes identiques ; utiliser dt:Runs ou global:Runs peut aider à trouver le bon.
dt=currentDataTable(); // you should already have a variable for your data table
dt<<NEW column=""></NEW>