Tengo muchas columnas con límites de especificaciones guardadas en las propiedades de la columna. Estoy intentando agregar líneas de referencia a varios gráficos de variabilidad en un grupo de columnas. Mi problema es que parece que no puedo agregar estas líneas sin recorrerlas y crear más de 400 instancias de un gráfico de variabilidad y agregarlas manualmente. Esto hace que se utilice demasiada memoria y ralentiza, si no, bloquea JMP. La primera línea de referencia que busco agregar puede ir seguida de este código. Aquí el índice i se refiere a la columna particular del grupo de columnas que estoy recorriendo:
report(gb)[axis box( 1 )] << Add Ref Line(
{Num(
Substr(
Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[1] ),
5,
Length( Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[1] ) ) - 5
)
), Num(
Substr(
Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[2] ),
5,
Length( Char( As List( Column( As List( DT << Get column Group( "Processes" ) )[i] ) << Get Property( "Spec Limits" ) )[2] ) ) - 5
)
)},
"Solid",
"Light Green",
"",
1,
0.25
);
A continuación se muestra cómo me gustaría implementar este código, de modo que no cree una nueva instancia de un gráfico de variabilidad para cada especificación. Simplemente no sé cómo agregar líneas de referencia personalizadas al siguiente código. Básicamente, quiero agregar inicialmente un rango de línea de referencia que resalte entre LSL y USL en verde claro para cada especificación.
open("$SAMPLE_DATA/Semiconductor Capability.jmp");
DT = Current Data Table();
DT << Manage Limits(
Process Variables(
DT << Get Column Group ("Processes")
),
<< Show Limits All,
<< Save to Column Properties,
close window
);
SpecVarCharts = Variability Chart( Y( Column Group( "Processes" ) ), X( :Wafer, :Site ),Connect Cell Means( 1 ), Std Dev Chart(0));
Cualquier ayuda sería muy apreciada.
Obtenga referencias a los cuadros de contorno en el gráfico de variabilidad y recorralos mientras establece líneas de referencia
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp"); // column properties are already set
varchart = dt << Variability Chart(
Y(Column Group("Processes")),
X(:Wafer, :Site),
Connect Cell Means(1),
Std Dev Chart(0),
invisible
);
obs = varchart << XPath("//OutlineBox[contains(text(), 'Variability Chart for')]");
For Each({ob}, obs,
colname = Substitute(ob << get title, "Variability Chart for ", "");
specs = Column(dt, colname) << Get Property("Spec Limits");
low = specs["LSL"] - 5;
high = specs["USL"] + 5;
ob[AxisBox(1)] << Add Ref Line(low, "Solid", "Light Green", "", 1, 0.25);
ob[AxisBox(1)] << Add Ref Line(high, "Solid", "Light Green", "", 1, 0.25);
);
varchart << Show Window(1);