Algunas notas rápidas sobre cómo agregar líneas de límite de especificación a todas las columnas en una tabla con límites de especificación
Cuando los límites de especificación se definen en las propiedades de una columna, a menudo es conveniente dibujar los límites de especificación como líneas de referencia en los gráficos de esa columna. I En las propiedades de la columna para Límites de especificación, hay una casilla de verificación que hará que la especificación de esa columna se use cada vez que se use la columna en un gráfico. Uno podría querer marcar esa pequeña casilla en toda una serie de columnas que tienen especificaciones. Manualmente, esto sería tedioso, así que aquí hay un poco de JSL para realizar esta tarea.
collist=dt<<GET column="" names=""></GET>
El script recopila una lista de columnas que son continuas. (Las columnas de caracteres y nominales no tendrían especificaciones de todos modos).
El script obtiene la propiedad de la columna Límites de especificación de cada columna de la lista. La función, Obtener propiedades de columna, obtiene todas las propiedades, pero eso no es lo que queremos aquí, así que extraemos solo la propiedad de límite de especificación. Si no hay una propiedad de límite de especificación, se devuelve Empty(). A continuación, el script inserta y, que es una expresión no evaluada que contiene "mostrar límites (1)" en la lista que proviene de la propiedad Límites de especificación. Finalmente, la secuencia de comandos establece la nueva propiedad Límite de especificación en la columna con la que comenzó... a menos que la propiedad Límite de especificación sea una expresión en lugar de una lista.
¿Problemas con los tipos de propiedades de columna?
Hay dos formas de configurar una propiedad de columna
1. Como expresión:
col<< Establecer propiedad ( "Límites de especificaciones", Límites de especificaciones ( LSL ( 10 ) , USL ( 50 ) , Objetivo ( 30 ) ) ) ;
2. Como lista:
col<< Establecer propiedad ( "Límites de especificaciones", { LSL ( 10 ) , USL ( 50 ) , Objetivo ( 30 )} ) ;
Un poco de explicación: Esta parte del guión...
si ( Expr. de nombre de cabeza ( a ) =="Límites de especificaciones",
nn=narg ( a ) ;
aa= {} ;
para ( ii= 1 ,ii<=nn,ii++,insertar en ( aa, argumento ( a, ii ))) ;espectáculo ( Automóvil club británico ) ;
colista [ i ] << Eliminar propiedad ( "Límites de especificaciones" ) ;
colista [ i ] << establecer propiedad ( "Límites de especificaciones", evaluación ( Automóvil club británico ))
...comprueba si la propiedad de especificación es el tipo de expresión. Luego inserta los componentes del argumento en una lista. Después borrando la propiedad existente, se vuelve a agregar la nueva propiedad de tipo de lista.
Este es el script para estandarizar el tipo de propiedad de la columna de especificación
dt=current data table();
collist=dt<<GET column="" names=""></GET>
Para las pruebas : Este es un caso de prueba reducido para usar como ejemplo. Este bit de JSL crea una nueva tabla con los dos tipos diferentes de formatos de propiedades de especificación.
dt=New Table( "target", Add Rows( 1 ), New Column( "a-b", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1] ) ),
New Column( "b minus a",Numeric, "Continuous", Format( "Best", 12 ), Set Selected,Set Values( [3] )));
//Add both formats of specification limits
:column(1)<<SET property=""></SET>
Estos enlaces están relacionados y tienen comentarios que pueden ser útiles:
Intentando extraer límites de especificación de columnas
Mostrar como líneas de referencia del gráfico
http://www.jmp.com/support/notes/46/953.html