Mostrar como líneas de referencia del gráfico<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Estoy importando límites de especificaciones con un script para cada tabla de datos que quiero graficar.Si bien las distribuciones muestran especificaciones, los diagramas de caja no.He estado intentando insertar "Mostrar límites de especificaciones (1) en varias áreas, pero sin éxito.Soy un novato de JSL, por lo que busco algo de experiencia.Revisar la GUI de propiedades de cada columna para marcar la casilla es inmanejable.Aquí hay un fragmento de código;
dt = open("tabla de datos.jmp");
obj = Capacidad (
Y( :especificación1, :espec2, :espec3, :espec4 ),
Límites de especificaciones( Importar límites de especificaciones("spec_limits_table.jmp")));
obj << Mostrar límites(1);
obj << Guardar límites de especificaciones como propiedades de columna;
Re: Mostrar como líneas de referencia del gráficoFunciona brillantemente Jim.¡¡¡Gracias!!!
Re: Mostrar como líneas de referencia del gráficoEjecuté el script incluido y descubrí que Capability Platform crea lo que creo que son propiedades de columna de límite de especificaciones estructuradas incorrectamente.Le envié esto a JMP para obtener su respuesta.
Todo lo que tiene que cambiar es el método para extraer los límites de especificaciones actuales, dada su estructura actual.La nueva estructura no es una Lista,
Aquí está el script reelaborado que creo que funcionará con sus datos.Recuerde, una vez que se establece el valor Mostrar límites, JMP cambiará la estructura de la propiedad de límite de especificación, por lo que en el futuro "obtener propiedad ("límites de especificación")" devolverá los límites de especificación como una lista, no la extraña estructura asignada por la Capacidad. Plataforma.
Nombres predeterminados aquí ( 1 );
dt= tabla de datos actual ();
//Obtiene todas las columnas numéricas de la tabla de datos
Columnas numéricas = dt << obtener nombres de columnas (numérico, cadena);
// Recorre todas las columnas y establece Mostrar límites
Para (yo = 3 , yo <= N artículos (Columnas numéricas), i++,
// Si la solicitud para obtener los límites de especificación devuelve un valor vacío, el
// la columna no tiene límites de especificaciones, así que no establezcas Mostrar límites
Si ( Esta vacio ( Columna (dt, columnas numéricas ) << obtener propiedad ( "límites de especificaciones" ) ) == 0 ,
// Esta es la estructura de la lista de límites de especificaciones. Si sólo configuras el
// Mostrar límites, borrará los otros límites, por lo que deben ser
// recuperado y sustituido en la estructura
valores limitantes = Carbonizarse ( columna (dt, columnas numéricas ) << obtener propiedad ( "límites de especificaciones" ) );
LSL = Intentar ( número ( Palabra ( 2 , substrato ( valores límite específicos, Contiene ( valores límite específicos, "LSL(" ) ), "()" ) ), . );
USL = Intentar ( número ( Palabra ( 2 , substrato ( valores límite específicos, Contiene ( valores límite específicos, "USL(" ) ), "()" ) ), . );
Objetivo = Intentar ( número ( Palabra ( 2 , substrato ( valores límite específicos, Contiene ( valores límite específicos, "Objetivo(" ) ), "()" ) ), . );
evaluar (
Sustituto (
Expr. (
Columna ( dt, __col__ ) << Establecer propiedad (
"Límites de especificaciones" ,
{LSL( __LSL__ ), USL( __USL__ ), Objetivo( __Target__ ), Mostrar límites( 1 )}
)
),
Expr. ( __col__ ), columnas numéricas ,
Expr. ( __LSL__ ), LSL,
Expr. ( __USL__ ), USL,
Expr. ( __Destino__ ), Objetivo
)
);
)
);
Re: Mostrar como líneas de referencia del gráficoLo sentimos, me perdí el cmd de especificaciones de guardado final.
obj << Guardar límites de especificaciones como propiedades de columna;
Re: Mostrar como líneas de referencia del gráficoNo estoy seguro de seguirte en la estructura de mis límites de especificaciones.A continuación se muestra el script que estoy ejecutando para adjuntar los límites, que completa todos los límites en las columnas especificadas.Esto provino de ejemplos de guiones en la ayuda.¿Me estoy perdiendo de algo?
Probé 2 métodos y ninguno tuvo éxito;
1. Agregue su código a este script y ejecútelo
2. Ejecute este script contra dt.Guarde dt con límites de especificaciones.Ejecute el código anterior en un script separado.
Los nombres están predeterminados aquí (1);
dt = Abrir( "C:\junk1_example.jmp" );
obj = Capacidad (
Y(
:Nombre( "Met1_Res/um"),
:Nombre( "Met2_Res/um"),
:Nombre( "Met3_Res/um"),
:Nombre( "Met4_Res/um"),
),
Límites de especificación(:Nombre( "Met1_Res/um" ) (LSL(1.0), Objetivo(1.3), USL(1.6) ),
:Nombre( "Met2_Res/um" ) (LSL(1.0), Destino(1.3), USL(1.6) ),
:Nombre( "Met3_Res/um" ) (LSL(1.0), Destino(1.3), USL(1.6) ),
:Nombre( "Met4_Res/um" ) (LSL(1.0), Destino(1.3), USL(1.6) )
)
);
Re: Mostrar como líneas de referencia del gráficoEn primer lugar, hay un pequeño error en el código que publiqué.La línea:
Si ( Esta vacio ( Columna ( dt , Columnas numéricas [ i ] ) ) == 0 ,
en realidad debería ser:
Si ( Esta vacio ( Columna ( dt , Columnas numéricas [ i ] ) << obtener propiedad ( "límites de especificaciones" ) ) == 0 ,
pero esa no es la razón por la que el script elimina los límites de especificaciones.
El motivo de ese problema es que cualquiera que sea el método que esté utilizando para completar los límites en la tabla de datos original, los límites se han especificado incorrectamente.Aunque parecen funcionar en plataformas de distribución, etc., la especificación del límite de especificaciones real se hizo mal.
Cuando la propiedad de límite de especificación se extrae de la tabla de datos que adjuntó a su última respuesta, se devuelve lo siguiente:
Límites de especificaciones (LSL (1), USL (1.6), Objetivo (1.3))
Lo que se debe devolver es:
{LSL( 1 ), USL( 1.6 ), Objetivo( 1.3 )}
Si ingresa manualmente los límites de especificaciones para la columna Met1_Res/um y establece la casilla de verificación "mostrar límites", la lista de límites cambia a la estructura adecuada.
Si toma el código original que incluí y lo ejecuta en la tabla de datos de capacidad del semiconductor, tal como está configurada para ejecutarse, verá que establece el valor "Mostrar límites".Si cambia a la estructura de límites de especificaciones correcta en su tabla de datos de muestra, también funcionará.
Por supuesto, se podría escribir un script para leer la estructura que se encuentra en la tabla de datos original, y la estructura luego se cambiará automáticamente a la estructura correcta, cuando se muestre el valor de límites que reemplazó, junto con los límites.Pero desaconsejaría esto, sino más bien descubrir y corregir el pgm que especifica incorrectamente la estructura de límites incorrecta.
Re: Mostrar como líneas de referencia del gráficoJMP 12.2
Ejecuté su código intercambiando dt -> Abrir solo archivo.Básicamente ejecutando tu código contra mis datos.
Re: Mostrar como líneas de referencia del gráfico¿Qué versión de JMP estás usando?
¿Los comentarios que usted está indicando, basados en la ejecución del código, sin cambios, los incluí en mi respuesta, o los comentarios se basan en la ejecución de ese código en su tabla de datos?
¿Puedes adjuntar la tabla de datos que estás utilizando?
Re: Mostrar como líneas de referencia del gráficoPor alguna razón, obtener nombres de columnas (numéricas, cadenas) elimina mis límites de especificaciones.Si cambio para obtener nombres de columnas (numéricos), los límites permanecen, pero la casilla Mostrar especificaciones no está marcada.
Re: Mostrar como líneas de referencia del gráficoAquí hay un script que establecerá Mostrar límites para todas las columnas numéricas en la tabla de datos, si la columna tiene límites de especificación.
Nombres predeterminados aquí ( 1 ) ;
dt = Abierto ( "$SAMPLE_DATA/capacidad de semiconductores.jmp" ) ;
//Obtiene todas las columnas numéricas de la tabla de datos
Columnas numéricas = dt << obtener nombres de columnas ( numérico , cadena ) ;
// Recorre todas las columnas y establece Mostrar límites
Para ( i = 3 , i <= N artículos ( Columnas numéricas ) , i ++,
// Si la solicitud para obtener los límites de especificación devuelve un valor vacío, el
// la columna no tiene límites de especificaciones, así que no establezcas Mostrar límites
Si ( Esta vacio ( Columna ( dt , Columnas numéricas [ i ] ) ) == 0 ,
// Esta es la estructura de la lista de límites de especificaciones. Si sólo configuras el
// Mostrar límites, borrará los otros límites, por lo que deben ser
// recuperado y sustituido en la estructura
evaluar (
Sustituto (
Expr. (
Columna ( dt , __columna__ ) << Establecer propiedad (
"Límites de especificaciones" ,
{ LSL ( __LSL__ ) , USL ( __USL__ ) , Objetivo ( __Objetivo__ ) , Mostrar límites ( 1 )}
)
) ,
Expr. ( __columna__ ) , Columnas numéricas [ i ] ,
Expr. ( __LSL__ ) , Intentar ( ( Columna ( dt , Columnas numéricas [ i ] ) << obtener propiedad ( "Límites de especificaciones" ))[ "LSL" ] , . ) ,
Expr. ( __USL__ ) , Intentar ( ( Columna ( dt , Columnas numéricas [ i ] ) << obtener propiedad ( "Límites de especificaciones" ))[ "USL" ] , . ) ,
Expr. ( __Objetivo__ ) , Intentar ( ( Columna ( dt , Columnas numéricas [ i ] ) << obtener propiedad ( "Límites de especificaciones" ))[ "Objetivo" ] , . )
)
)
)
) ;