Hola,
Esta es una representación del script con el que tengo un problema:
For(l = 0, l <= n, l++, Dispatch({"Normal Quantile Plot"}, "2", ScaleBox, {Format("Best", 6), AddRefLine(l/100, "Dotted", "Black", Char(l) || "/100", 1), ) ) ) ); rep = Eval(EvalExpr(ow)) << Report;n = 100;
ow = Expr(
OneWay(Y(colPara), X(splitPara),
MeansAndStdDev(0), AllGraphs(0), LineOfFit(0), StdDevLines(1), Legend(1), PlotQuantileByActual(1),
SendToReport(
Dispatch({}, "Normal Quantile Plot", OutlineBox, {SetTitle("")}),<BR /><CODE class="language-jsl">
Estoy intentando crear y guardar un gráfico unidireccional en una expresión que se evaluará posteriormente y se convertirá en un informe.
El primer envío cumple su función:
Dispatch({}, "Normal Quantile Plot", OutlineBox, {SetTitle("")})
Sin embargo, el bucle For no funciona y creo que tiene algo que ver con la forma en que JMP maneja las variables en ejecución en combinación con el funcionamiento de Expr/Eval.
</CODE></PRE>
<P><CODE class="language-jsl">
¿Existe alguna solución o alternativa para esto?
Saludos cordiales 
For(l = 0, l <= n, l++, <BR /> Dispatch({"Normal Quantile Plot"}, "2", ScaleBox, {Format("Best", 6), AddRefLine(l/100, "Dotted", "Black", Char(l) || "/100", 1),<BR />)
Crearía una función para esto y, dentro de esa función, movería el bucle For fuera de la ejecución de la plataforma.
Creo que algo así podría funcionar (hay muchas otras opciones).
Names Default To Here(1);
create_oneway = Function({dt, colpara, splitpara, n = 100}, {Default Local},
ow = dt << OneWay(
Y(Eval(colPara)),
X(Eval(splitPara)),
MeansAndStdDev(0),
AllGraphs(0),
LineOfFit(0),
StdDevLines(1),
Legend(1),
PlotQuantileByActual(1)
);
rep = ow << report;
For(l = 0, l <= n, l++,
rep << Dispatch(
{"Normal Quantile Plot"}, "2", ScaleBox,
{
Format("Best", 6),
Add Ref Line(l/100, "Dotted", "Black", Char(l) || "/100", 1)
}
);
);
rep << Dispatch({}, "Normal Quantile Plot", OutlineBox, {SetTitle("")});
return(ow);
);
dt = open("$SAMPLE_DATA/Big Class.jmp");
ow = create_oneway(dt, "weight", "age");
Write();
Podrías usar Expr, pero en ese caso yo construiría la expresión a partir de varias partes diferentes.