Mi primera suposición es que cuando el gráfico de variabilidad se crea de esta manera, solo creará una referencia para todo el análisis, por lo que su vcl[i] no funcionará porque no hay una lista de gráficos de variabilidad.
Parece que hubo un cambio de Jmp 16 a Jmp 17:
Tabla de Variabilidad en Jmp 16:

Tabla de Variabilidad en Jmp 17:

Como @jthi dice, sólo un informe único.
Por lo tanto, debe ajustar ligeramente la estructura del índice.
por ejemplo, reemplazar cada Informe (vlc[i]) con Informe (vcl) [BorderBox (i)] .
Hola amigos,
Acabo de actualizar a JMP 17 y noté que la línea de referencia adicional no funciona en JMP 17 pero funciona perfectamente en JMP 16. ¿Alguna sugerencia?
JMP 16:

JMP 17:

El siguiente código JSL genera un gráfico de variabilidad y agrega una línea de referencia del archivo de límites:
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 );
)
);