내 첫 번째 추측은 가변성 차트가 이런 식으로 생성될 때 전체 분석에 대한 하나의 참조만 생성되므로 가변성 차트 목록이 없기 때문에 vcl[i]가 작동하지 않는다는 것입니다.
Jmp 16에서 Jmp 17로 변경된 것 같습니다.
Jmp 16의 가변성 차트:

Jmp 17의 가변성 차트:

처럼 @jthi 단 하나의 보고서라고 합니다.
따라서 인덱스 구조를 약간 조정해야 합니다.
예: 교체 주기 보고서(vlc[i]) ~와 함께 보고서( vcl )[BorderBox( i )] .
안녕 여러분,
방금 JMP 17로 업그레이드했는데 add ref 라인이 JMP 17에서는 작동하지 않지만 JMP 16에서는 완벽하게 작동합니다. 어떤 제안?
JMP 16:

JMP 17:

아래 JSL 코드는 가변성 차트를 생성하고 제한 파일에서 참조선을 추가합니다.
dt = Data Table("Limits_file");
dt2 = Data Table("Data_table");
newli = {};
For( i = 1, i <= N Rows( dt ), i++,
Insert Into( newli, dt:Column 1[i] )
);
Try(
vcl = dt2 << Variability Chart(
Y( Eval( newli ) ),
X( :WaferID ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Show Range Bars( 0 ),
Show Separators( 0 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
SendToReport( Dispatch( {""}, "Variability Chart", FrameBox, {Frame Size( 787, 250 )} ) )
)
);
aa_refs = Associative Array( dt:Column 1 << get values, dt:"3 sigma"n << get values );
aa_refs1 = Associative Array( dt:Column 1 << get values, dt:"4.5 sigma"n << get values );
aa_refs2 = Associative Array( dt:Column 1 << get values, dt:"6 sigma"n << get values );
Current Data Table(dt);
For( i = 1, i <= N Items( newli ), i++,
If( Contains( aa_refs, newli[i] ),
Report( vcl[i] )[Framebox( 1 )] << DispatchSeg( CustomStreamSeg( 3 ), {Line Width( 2 )} );
rbiv = vcl[i] << report;
rbiv[axis box( 1 )] << Add Ref Line(
aa_refs[newli[i]], "Solid", "Red", "3 sigma" || "(" || Char( Format( aa_refs[newli[i]], "Percent", 7, 2 ) ) || ")", 2
);
Report( vcl[i] )[AxisBox( 1 )] << {Add Ref Line(
aa_refs1[newli[i]], "Solid", "Orange", "4.5 sigma" || "(" || Char( Format( aa_refs1[newli[i]], "Percent", 7, 2 ) ) || ")",
2
)};
Report( vcl[i] )[AxisBox( 1 )] << {Add Ref Line(
aa_refs2[newli[i]], "Solid", "Blue", "6 sigma" || "(" || Char( Format( aa_refs2[newli[i]], "Percent", 7, 2 ) ) || ")", 2
)};
Report( vcl[i] )[AxisBox( 1 )] << Max( aa_refs2[newli[i]] + 0.002 );
)
);