Ich versuche, ein robustes Skript zu schreiben, das es dem Benutzer ermöglicht, einen Sigma-K-Wert anzugeben, Y-Spalten aus einer Liste aller fortlaufenden Spalten auszuwählen, für jede Spalte die LJ-Diagramme zu erstellen und die Grenzwerte in einer großen Datentabelle zu speichern.
Das Skript erzeugt keine Fehler, erstellt aber keine grafische Ausgabe.
Ich kann nicht sehen, wo ich falsch liege, Skript unten und angehängt
Danke
Names Default To Here(1);
dt = Current Data Table();
// Get list of continuous columns
contCols = {};
For(i = 1, i <= N Cols(dt), i++,
col = Column(dt, i);
If(col << Get Modeling Type == "Continuous",
Insert Into(contCols, col << Get Name)
);
);
If(N Items(contCols) == 0,
Show Message(
"No continuous columns found.", "Please ensure your data table has continuous columns."
);
Stop();
);
// Dialog for selecting columns and k
colList = .;
kNum = .;
dialogResult = .;
nw = New Window("Levey-Jennings Chart Setup",
<
<MODAL></MODAL>
<P>Bearbeiten (jthi): JSL-Formatierung hinzugefügt</P>
Das Skript enthält zahlreiche Fehler und ich gehe davon aus, dass es von einem LLM erstellt wurde. Wenn Sie in JMP Skripte außerhalb von JMP-Skripten erstellen möchten, empfehle ich Ihnen, sich den Skriptleitfaden anzusehen.
Mehr anzeigen...
Names Default To Here(1);
dt = Current Data Table();
nw = New Window("Levey-Jennings Chart Setup", << Type("Modal Dialog"),
H List Box(
Lineup Box(N Col(1),
Text Box("Select up to 50 continuous columns:"),
fcs = Filter Col Selector(dt, << Nominal(0), << Ordinal(0), << Continuous(1), Character(0), << Set Max Selected(50)),
Text Box("Enter k (number of SDs for Shewhart control limits):"),
neb = Number Edit Box(3)
),
Lineup Box(N Col(1),
Button Box("OK",
selcols = fcs << get selected;
ksig = neb << get;
),
Button Box("Cancel")
)
)
);
If(nw["Button"] != 1,
Throw("Cancelled");
);
If(N Items(selcols) == 0,
Throw("No columns selected");
);
collist = Transform Each({colname}, selcols, Name Expr(AsColumn(dt, colname)));
Substitute Into(collist, Expr(List), Expr(Y));
ccb = Eval(EvalExpr(dt << Control Chart Builder(
Show Two Shewhart Charts(0),
K Sigma(Expr(ksig)),
Variables(Expr(Name Expr(collist))),
Chart(Points(Statistic("Individual")), Limits(Sigma("Levey Jennings"))),
Show Control Panel(0)
)));
Danke - perfekt
Ich gehe Zeile für Zeile durch und versuche zu verstehen, was passiert
Hallo @NBrammer ,
Mir gefällt dieser Leitfaden von Don McCormack zum Ausführen von Plattformen ohne Kenntnis der Spaltennamen oder -anzahl sehr gut: https://community.jmp.com/t5/JSL-Cookbook/Run-a-Platform-without-Knowing-the-Number-or-Names-of-Columns/ta-p/464407
Danke,
Ben