안녕하세요,
이것은 제가 문제를 겪고 있는 스크립트를 나타낸 것입니다.
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">
그래서 저는 나중에 평가되어 보고서로 변환될 표현식에 단방향 그래프를 저장하려고 합니다.
첫 번째 발송물은 의도한 대로 작동합니다.
Dispatch({}, "Normal Quantile Plot", OutlineBox, {SetTitle("")})
하지만 For 루프가 작동하지 않는데, 이는 JMP가 Expr/Eval 함수와 함께 변수를 실행하는 방식과 관련이 있는 것 같습니다.
</CODE></PRE>
<P><CODE class="language-jsl">
이 문제에 대한 해결책이나 임시방편이 있을까요?
진심으로 감사드려요 
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 />)
이를 위해 함수를 만들고, 그 함수 안에서 for 루프를 플랫폼 실행 영역 밖으로 옮기겠습니다.
이런 방식도 괜찮을 것 같아요 (물론 다른 방법도 많습니다).
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();
Expr을 사용할 수도 있지만, 그럴 경우 몇 가지 다른 부분을 조합하여 표현식을 구성하는 것이 좋습니다.