<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Estoy trazando tres gráficos diferentes (IR, EWMA y CUSUM) en una sola ventana, pero el problema al que me enfrento es que también muestra la condición de dónde se usa dentro de los gráficos en la ventana de visualización.
Ventana de visualización:

Código:
objeto = Nueva ventana ( "Informe de análisis de tendencias" || Fecha larga ( Este Dia ()) ,
vlb = Cuadro de lista V ()
) ;
monitor = Función ({ Proceso , Etiqueta , Por , Tipo_origen , lmt1 , lmt2 , lmt3 } ,
r1 = Nueva ventana ( "" ,
por favor = caja de paneles ( " Gráficos de control para " || Proceso || " & " || " Tipo de fuente = " || Tipo_origen , Tabla de datos actual ( dt ) ;
Cuadro de lista H (
Tabla de control (
Etiqueta de muestra ( Columna ( dt , Etiqueta )) ,
Tamaño del grupo ( 1 ) , KSigma ( 3 ) ,
como columna ( dt , Proceso ) , Medición Individual ( LCL ( lmt1 [ 6 ]) , PROMEDIO ( lmt1 [ 5 ]) , UCL ( lmt1 [ 7 ]))) ,
Dónde ( como columna ( dt , Por ) == Tipo_origen ) ;
) ;
Etiqueta de muestra ( Columna ( dt , Etiqueta )) ,
Tamaño de la muestra ( 1 ) ,
Alfa ( 0.00269979606326021 ) ,
Mostrar leyenda de límites ( 0 ) ,
como columna ( dt , Proceso ) , CUSUM ( dos caras ( 1 ) , PROMEDIO ( lmt2 [ 5 ]))) ,
Dónde ( como columna ( dt , Por ) == Tipo_origen ) ;
) ;
Etiqueta de muestra ( Columna ( dt , Etiqueta )) ,
Tamaño de la muestra ( 1 ) ,
KSigma ( 3 ) , Peso ( 0.2 ) ,
como columna ( dt , Proceso ) , EWMA ( PROMEDIO ( lmt3 [ 5 ]))) ,
Dónde ( como columna ( dt , Por ) == Tipo_origen ) ;
) ;
) ;
) ;
) ; vlb << Adjuntar ( r1 ) ; r1 << Cerrar ventana ;
) ;
gráfico = Función ({ lmts , pmt_path } ,
param_dt = Abierto ( pmt_path , "invisible" ) ;
param_summ = param_dt << Resumen ( Invisible ,
Grupo ( : Agrupar por ,: Proceso ,: Etiqueta de muestra ,: Por )) << Mostrar ventana ( 0 ) ;
Para ( q = 12 , q <= Fila N ( param_summ ) , q ++, Tabla de datos actual ( param_summ ) ;
col2 =: Proceso [ q ] ; col3 =: Etiqueta de muestra [ q ] ; col4 =: Por [ q ] ;
Tabla de datos actual ( lmts ) ;
clms = lmts << Obtener nombres de columna ( Cuerda ) ;
Eliminar de ( clms , 1 , 3 ) ;
Para ( t = 1 , t <= N artículos ( clms ) , t ++, Tabla de datos actual ( lmts ) ;
indv_lmts = como columna ( clms [ t ])[ lmts << Obtener filas donde ( : Parámetro == col2 & : Tipo de gráfico == "Individual" )] ;
cusum_lmts = como columna ( clms [ t ])[ lmts << Obtener filas donde ( : Parámetro == col2 & : Tipo de gráfico == "CUSUM" )] ;
ewma_lmts = como columna ( clms [ t ])[ lmts << Obtener filas donde ( : Parámetro == col2 & : Tipo de gráfico == "EWMA" )] ;
monitor ( col2 , col3 , col4 , clms [ t ] , indv_lmts , cusum_lmts , ewma_lmts ) ;
) ;
) ;
) ;
No soy capaz de averiguar por qué está sucediendo. Cualquier ayuda sería apreciada. ¡¡Gracias!!
A ver si este ejemplo te sirve. Modifiqué un ejemplo en la excelente introducción de JSL Jump into JMP Scripting de Murphrey y Lucas.
dt = Abrir( "$SAMPLE_DATA/Quality Control/Diameter.jmp" );
cc = Gráfico de control (
Tamaño del grupo ( 1 ),
KSigma( 3 ),
Gráfico Col (: DIÁMETRO, Medida individual),
Donde( :MAQUINA == "A386" )
);
Espera(2);
(Informe( cc ) << Padre)[Cuadro de texto( 1 )] << eliminar;
Espera(2);
El texto de la cláusula where es una salida estándar de JMP y no es específica de su código.Por ejemplo para este script:
Tabla de control (
Tamaño del grupo ( 1 ) ,
KSigma ( 3 ) ,
Columna del gráfico ( : DIÁMETRO , Medición Individual ) ,
Dónde ( : Máquina == "A386" )
) ;
La salida se ve así:

Desafortunadamente, este texto no parece aparecer en el árbol de visualización y, por lo tanto, no se puede eliminar fácilmente.El enfoque que tomo es crear subconjuntos de datos para cada gráfico para que no se requiera la cláusula where.Si estoy componiendo una ventana que contiene varios gráficos, tener el título "Gráfico de control" no agrega ninguna información útil, por lo que reemplazo este texto con la cláusula de selección utilizada para dividir los datos:

Aquí está el guión completo:
dt = Abierto ( "$SAMPLE_DATA/Control de calidad/Diámetro.jmp" ) ;
// nombre de la columna utilizada para la cláusula 'where'
Nombre del grupo = "Máquina" ;
// necesito esto para hacer limpieza después del evento de cierre de ventana
ns = Nuevo espacio de nombres ( "tablas-temporales-a-ser-eliminadas" ) ;
// obtener valores únicos para la máquina
Resumir ( niveles = Por ( como columna ( Nombre del grupo ) ) ) ;
noroeste = Nueva ventana ( "Mis gráficos" ,
hlb = Cuadro de lista H ()
) ;
// iterar sobre cada valor
ns : lstTables = {} ;
Para ( i = 1 , i <= Nartículos ( niveles ) , i ++,
// crea el subconjunto de datos
filas coincidentes = dt << Obtener filas donde ( como columna ( Nombre del grupo ) == niveles [ i ] ) ;
dtNombre = "Subconjunto para" || Nombre del grupo || "=" || niveles [ i ] ;
dtSubconjunto = dt << Subconjunto ( filas ( filas coincidentes ) , Tabla de salida ( dtNombre ) , Invisible ) ;
// agregar al espacio de nombres para hacer referencia al evento de cierre
Insertar en ( ns : lstTables , dtSubconjunto ) ;
// use un contenedor para asegurarse de que el gráfico no se represente hasta que se agregue a la ventana
envase = Cuadro de lista V (
CC = dtSubconjunto << Tabla de control (
Tamaño del grupo ( 1 ) ,
KSigma ( 3 ) ,
Columna del gráfico ( : DIÁMETRO , Medición Individual ) ,
)
) ;
//revisar el titulo
reps = CC << Reporte ;
transmisión exterior = reps [ ContornoCuadro ( 1 )] ;
transmisión exterior << Establecer título ( Nombre del grupo || " = " || niveles [ i ]) ;
// añadir a la ventana del informe
hlb << Adjuntar ( envase )
) ;
// limpieza - eliminar las tablas de subconjuntos
noroeste << al cerrar (
ns = espacio de nombres ( "tablas-temporales-a-ser-eliminadas" ) ;
Para ( i = 1 , i <= Nartículos ( ns : lstTables ) , i ++,
Probar ( Cerca ( ns : lstTables [ i ] , NoGuardar ) )
)
) ;
Y la salida asociada:

-David