Script JSL para crear gráficos múltiples para Y vs X por A con una tabla de límites para crear gráficos de controlTengo una tabla JMP con, digamos, 5 cols.
ColA es una columna categrica. ColA puede tener diferentes grupos de valores. Sin embargo, para cada grupo de valores de ColA LCL y UCL son iguales, me refiero a esto: (digamos)
Datos de muestra con solo 2 grupos de Col A
Col A LCL UCL Y X
a 5 10 9 PQR1
a 5 10 11 PQR2
b 17 25 12 ABC1
b 17 25 14 ABC1
b 17 25 19 ABC1
Así que quiero graficar Y vs X (diagrama de caja digamos en este caso) por Col A. Entonces esto debería generar dos parcelas (una para a y otra para b). Sin embargo, quiero crear un script JSL para crear los dos gráficos de control diferentes para cada gráfico. Para el caso a (5,10) y para el caso b (17, 25).
Sé que esto es simple en JMP. Pero en mi caso estoy generando datos sobre la marcha y no sabré cuantos grupos y cuales son los LCL/UCL. Así que necesito tener un guión para lograr eso. Tratando de entender cómo resolver este problema usando JSL.
Re: Script JSL para crear gráficos múltiples para Y vs X por A con una tabla de límites para crear un canal de control¡¡Maravilloso!! ¡¡¡Trabajado como un encanto!!! GraciasRe: Script JSL para crear gráficos múltiples para Y vs X por A con una tabla de límites para crear un canal de controlSu sintaxis Agregar línea de referencia es incorrecta.Tiene que incluirse en la definición de la plataforma Oneway como una estructura de "Enviar a informe", o agregarse después del hecho, enviando un mensaje Agregar línea de referencia a Reports AxisBox, como se muestra a continuación.
Names Default To Here( 1 );
dt = Current Data Table();
Summarize( groupid = by( :Col A ) );
map_l = Associative Array( :Col A, :LCL );
map_u = Associative Array( :Col A, :UCL );
For( i = 1, i <= N Items( groupid ), i++,
idname = Char( groupid[i] );
df = dt << Oneway(
Y( :Y ),
X( :X ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
Where( :Col A == idname )
);
Report( df )[AxisBox( 1 )] <<
Add Ref Line( map_u[idname], "Dashed", "Black", "UCL", 1 );
Report( df )[AxisBox( 1 )] <<
Add Ref Line( map_l[idname], "Dashed", "Black", "LCL", 1 );
);
Re: Script JSL para crear gráficos múltiples para Y vs X por A con una tabla de límites para crear un canal de controlGracias Jim...
Bueno, siempre estaré graficando mi Y vs X basado en la columna agrupada (en este caso Col A, digamos)...
No estaba planeando usar ninguna plataforma todavía.
La forma en que estaba abordando el problema es crear una matriz asociativa basada en el grupo y luego crear un bucle. Pero eso tampoco está funcionando. He pegado el fragmento de código a continuación.
dt = Current Data Table();
summarize(groupid=by(:Col A));
map_l = Associative Array( :Col A, :LCL );
map_u = Associative Array( :Col A, :UCL );
for(i=1, i<= N Items(groupid), i++,
idname = char(groupid[i]);
df = dt << Oneway(
Y( :Y ),
X( :X ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
Where( :Col A == idname ),
Add Ref Line(map_u[idname] , "Dashed", "Black", "UCL", 1 ),
Add Ref Line(map_l[idname] , "Dashed", "Black", "LCL", 1 )
)
)
Re: Script JSL para crear gráficos múltiples para Y vs X por A con una tabla de límites para crear un canal de controlHay diferentes límites de control para los diferentes gráficos, y cada uno debe establecerse dentro de la columna para que tengan efecto en el gráfico. ¿Usará siempre un tipo específico de gráfico o necesitará establecer los límites de su tabla para cada uno de los tipos de límite (XBar, Individual...…)? ¿Utilizará la plataforma Control Chat Builder o la plataforma Control Chart?