Bleibe bei Modal hängenHallo alle,
Ich hatte gehofft, dass mir jemand mit Modal helfen kann, vorher habe ich FV in meinem JMP-Skript wie folgt berechnet:
Finalivc2 << New Column( "Runs", Numeric, Continuous );
:Runs<<SET each="" value=""></SET>
was OK funktionierte, obwohl ich gelegentlich vergaß, die Parameter :Runs und :Replicates per run zu aktualisieren, was mir etwas Kummer bereitete, entschied ich mich, diesen Prozess mit modal wie folgt zu automatisieren
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 ) );Ich habe keinen Zweifel, dass ich das Auswerten und Ersetzen falsch mache, ich erhalte nicht die Variablenläufe und Relikate pro Lauf in der Tabelle, und es führt dann die Berechnung nicht durch, kann jemand bitte etwas Hilfe anbieten
Vielen Dank
Betreff: Ich hänge bei Modal festHallo pmroz,
Vielen Dank für Ihre Antwort, ich habe den Post von Craige von gestern als Lösung akzeptiert, ich hatte von gestern eine Fehlcodierung.
Grüße,
Mickyboy.
Betreff: Ich hänge bei Modal festHallo Graige,
Ihre Lösung von gestern war richtig, ich vermisse codiert, ich habe verwendet
dt<< neue Spalte statt finalivc2<
| Läuft | Replikate pro Lauf | Formatvariabilität %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 |
Ich entschuldige mich aufrichtig, es funktioniert großartig, vielen Dank für Ihre Geduld und Hilfe, es wird sehr geschätzt.
Mit freundlichen Grüßen
Mickyboy
Betreff: Ich hänge bei Modal festIch bin mir nicht sicher, woher das Tagebuch kommt oder warum es das sagen würde. Ich führe Ihren Code mit einem geöffneten dt aus und erhalte Folgendes:
columns added with values setSpalten mit festgelegten Werten hinzugefügt
Ich finde @pmroz Antwort gibt die Werte nicht über das <
Wird Ihre Tabelle jetzt mit den Spalten und Werten erstellt? Vielleicht gibt es danach ein anderes Problem.
Betreff: Ich hänge bei Modal festSie versuchen, die Zahlenbearbeitungsfeldvariablen als eingegebene Werte zu verwenden.Sie können das nicht tun; Stattdessen müssen Sie die Werte aus den Zahlenbearbeitungsfeldern mit extrahieren << bekommen .Im folgenden Code habe ich angehängt _neb zu den Variablen:
FV_param = New Window( "Format Variability Parameters",
<<MODAL></MODAL>
Betreff: Ich hänge bei Modal festHallo Craige,
Ich verwende dieselbe Version 14, also sieht mein Code jetzt so aus
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>aber es wird den Wert immer noch nicht auf das setzen, was in die Modalfelder eingegeben wurde, ich bekomme das im Journal:
Formatvariabilität %GCV
.
.
.
.
.
.
.
.
.
In den Journalen werden keine Werte gebucht.
Irgendwelche Ideen??
Danke für Ihre Hilfe
Betreff: Ich hänge bei Modal fest(Welche Version von JMP verwenden Sie? ich bin am 14...)
Sie müssen kein Ersatzzeichen (...) verwenden. Versuchen Sie, Ihre zu ersetzen eval( ... substitute(... (expr(... Code mit so etwas wie
dt<<NEW column=""></NEW>
In Ihrem Beispiel hat die Verschachtelung der Klammern replace(eval(...)) mit einem einzigen zu ersetzenden Argument hinterlassen. Ersetzen benötigt (edit zwei -> drei) drei Argumente.
Betreff: Ich hänge bei Modal festHallo Craige,
Hatte einige Zeit versucht, das Skript mit Ihrem Vorschlag auszuführen, wurde immer noch nicht ausgeführt, erhalte den gleichen Fehler im Debug, nicht genügend Argumente beim Zugriff auf die Bewertung von Ersatz.
Grüße
Mickyboy
Betreff: Ich hänge bei Modal festHallo Craige,
Ich habe heute keine Zeit mehr, werde es aber morgen früh versuchen und Sie wissen lassen, dass das Problem, das ich hatte, darin bestand, die Werte aus den Dialogfeldern auszuwerten und in die Gleichung einzufügen.
Danke
Betreff: Ich hänge bei Modal festDas letzte Stück Ihres Skripts sollte ungefähr so aussehen. Sie können auch auf Benennungsprobleme stoßen, wenn JSL-Variablennamen und Spaltennamen identisch sind; Die Verwendung von dt:Runs oder global:Runs kann helfen, das richtige zu finden.
dt=currentDataTable(); // you should already have a variable for your data table
dt<<NEW column=""></NEW>