Wie speichere ich das Benchmark-Fenster in der Datentabelle?Hallo !
Dank dieses Skripts erstelle ich ein Fenster mit Benchmarks auf jmp und möchte es in der Datentabelle speichern (als würde ich „Skript in Datentabelle speichern“ ausführen). Das Problem ist, dass das Ende meines Skripts nicht funktioniert!!
// Ouvrir la table de données
dt = Open(fichier1);
// Initialiser une liste pour stocker les noms des colonnes avec la note "INGOT CHARACTERISTICS"
cols_with_note = {};
// Parcourir chaque colonne de la table par index
For(i = 1, i <= N Cols(dt), i++,
col = Column(dt, i);
// Vérifier si la colonne a une note "INGOT CHARACTERISTICS"
If(col << Get Property("Notes") == "INGOT CHARACTERISTICS",
// Ajouter le nom de la colonne à la liste
Insert Into(cols_with_note, col << Get Name)
);
);
Print(
"Colonnes avec notes trouvées pour la famille " || "INGOT CHARACTERISTICS" || " : " ||
Char(cols_with_note) || "\n"
);
// Créer une nouvelle fenêtre pour regrouper tous les graphiques
report_window = New Window("BenchMarks_Ingot_Characteristics",
V List Box(
Fit Group(
For(i = 1, i <= N Items(cols_with_note), i++,
col_name = cols_with_note[i];
// Ajouter le graphique Oneway au Fit Group
Oneway(
Y(Column(dt, col_name)),
X(Column(dt, selection)),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
);
)
)
)
);
// Enregistrer la fenêtre dans le fichier de données
report_window << Save Script to Data Table(
dt, // Spécifie la table de données
"BenchMarks_Ingot_Characteristics", // Nom de la fenêtre pour enregistrer
);
Bearbeiten 2024-08-12 jthi, JSL-Formatierung hinzugefügt
Automatisierung und SkriptingDatenzugriffDatenexploration und -visualisierungBetreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Wenn Sie JSL-Code in der JMP-Community veröffentlichen, verwenden Sie bitte die JSL-Formatierung. Sie können sie hinzufügen mit
.
Zu Ihrer Frage: Welche JMP-Version verwenden Sie?
Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Hier sind zwei Optionen, die für Sie funktionieren könnten. Option 2 ist normalerweise einfacher zu verwenden, aber das erstellte Skript ist in der Tabelle schwieriger zu ändern
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
sel = "SITE";
cols = Left(dt << Get Column Names("Continuous", "String"), 10);
// Option1
ow_expr = EvalExpr(dt << Oneway(
Y(Eval(Expr(cols))),
X(Eval(Expr(sel))),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
));
Eval(EvalExpr(
dt << New Script("Plots", Expr(Name Expr(ow_expr)));
));
dt << Run Script("Plots"); // if you want to leave it open
// Option2
ows = dt << Oneway(
Y(Eval(cols)),
X(Eval(sel)),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
);
ows[1] << Save Script for All Objects To Data Table("Plot2");Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Ich habe eine Schleife erstellt, um alle meine Benchmarks in einer Fit-Gruppe zu haben, und ich möchte diese gesamte Fit-Gruppe in einem Fenster speichern. Das Skript, das Sie mir gesendet haben, funktioniert bei mir nicht:(
Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Was ist falsch an dem Skript, das ich Ihnen zur Verfügung gestellt habe? Sie haben mir nicht gesagt, welche JMP-Version Sie verwenden, daher funktioniert es möglicherweise nicht mit allen JMP-Versionen (ich habe nur Zugriff auf JMP17 und JMP18).
Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Die Benchmarks wurden in meiner Datei nicht registriert. Ich weiß nicht, warumBetreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Ich benutze jmp 16Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Außerdem enthält das Skript, das Sie mir senden, nicht die SchleifeBetreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Wenn eine Schleife nicht notwendig ist (vielleicht bei JMP16), warum sollte man dann eine verwenden? Denn mit meinen vorherigen Skripten erhält man Ergebnisse wie diese (in JMP18)

Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Jarmo,
Ich habe Ihr Skript in JMP 16 ausgeführt und beide Optionen funktionierten wie erwartet und speicherten die Skripte in der ursprünglichen Datentabelle.
Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Ich verstehe nicht, warum eine Schleife nicht notwendig ist, wenn ich Benchmarks für jeden Wert der Liste cols_with_note als Y generieren muss.Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Einige JMP-Plattformen ermöglichen die Verwendung mehrerer Spalten als Eingaben. Nachdem Sie Ihre Spaltenliste haben, können Sie sie möglicherweise direkt als Eingabe in einer Plattform verwenden. Sie benötigen also eine Schleife zum Sammeln der Spalten (oder eine andere Methode, ich habe Ihre Daten nicht, daher kann ich es nicht wissen) und eine zweite Schleife ist möglicherweise unnötig, je nachdem, welches Endergebnis Sie erzielen möchten.
Mein Beispiel enthält keine Schleifen, da es für mein Beispielskript nicht notwendig ist, eine Schleife über alle Spalten auszuführen, um eine Beispielliste zu erstellen. Ich kann einfach einige Spalten auswählen, um zu demonstrieren, was Sie tun können, insbesondere da Sie den Teil mit der Spaltensammlung anscheinend bereits gelöst haben.
Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Okay, ich verstehe es, aber ich weiß nicht, warum es nicht funktioniert, wenn ich auf die Schaltfläche klicke, um es zu starten. Ich weiß also, dass es gespeichert wurde, aber ich kann die Benchmarks nicht über die grüne Schaltfläche starten.
Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Klicken Sie mit der rechten Maustaste auf das Skript und wählen Sie „Bearbeiten“

Sie können dann das Skript anzeigen, das sich in der Tabelle befindet. Höchstwahrscheinlich ist damit etwas nicht in Ordnung. Manchmal kann es etwas schwierig sein, sie korrekt in der Datentabelle zu speichern.
Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Ok, vielen Dank, du hast mich wirklich gerettet!! Ich habe noch eine Frage. Ich mache das für mehrere Studien und manchmal sind die Listenspalten (oder cols_with_note) möglicherweise leer, aber das Skript, das du mir schickst, funktioniert nicht, wenn die Spalten leer sind (was eigentlich normal ist). Ich mache dieses Skript, um sie zu einem Workflow-Formularsprung hinzuzufügen. Gibt es eine Möglichkeit, zu sagen: „Wenn die Spalten leer sind, dann stoppe das Skript und gehe zum nächsten über“?
Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?oder besser gesagt, wenn die Liste nicht leer ist, generieren wir die Benchmarks und sonst tun wir nichts
Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Sie können die if-Anweisung und N Items() verwenden, um zu prüfen, ob die Liste Elemente enthält. Und dann entweder anhalten, wenn sie leer ist, oder etwas anderes tun
mylist = {};
If(N Items(mylist) == 0,
stop();
);
show(1);Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Ich empfehle Ihnen dringend, sich die Zeit zu nehmen und den Scripting Guide zu lesen, der im Pulldown-Menü „Hilfe“ verfügbar ist.
Betreff: Wie speichere ich das Benchmark-Fenster in der Datentabelle?Mir ist aufgefallen, dass, wenn meine Liste nur einen Spaltennamen oder eine leere Spalte enthält, das Skript sagt: „Send erwartet skriptfähige Objekte. Wie kann ich das korrigieren?“