Estoy intentando escribir un script robusto que permita al usuario especificar un valor Sigma K y seleccionar columnas Y de una lista de todas las columnas continuas y crear los gráficos LJ para cada una y guardar los límites en una tabla de datos alta.
El script no crea ningún error, pero no crea la salida gráfica.
No puedo ver dónde me estoy equivocando, script a continuación y adjunto.
Gracias
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>Editar (jthi): se agregó formato jsl</P>
El script contiene muchos errores y supongo que fue creado por algún LLM. Si desea crear scripts en JMP fuera de los scripts creados por JMP, le sugiero que consulte la Guía de Scripting .
Ver más...
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)
)));
Gracias - perfecto
Lo repasaré línea por línea e intentaré comprender qué está pasando.
Hola @NBrammer ,
Me gusta mucho esta guía de Don McCormack sobre cómo ejecutar plataformas sin conocer los nombres o el número de columnas: https://community.jmp.com/t5/JSL-Cookbook/Ejecutar una plataforma sin saber el número ni los nombres de las columnas/ta-p/464407
Gracias,
Ben