Soy relativamente nuevo en JMP JSL. Estoy intentando incluir múltiples límites de control en un gráfico de variabilidad y un gráfico bivariado usando un script JSL durante algún tiempo. Probado varias veces como preliminar, pero aún no progresa como se esperaba. No se muestra ningún gráfico al ejecutar el script JSL adjunto.
En lugar de continuar, quería llegar a los cuervos y apoyarse en la experiencia / experiencia de otras personas sobre cómo configurarlo sin problemas. Adjunto el guión mencionado.
Descripción | Archivo |
Secuencia de comandos JMP JSL | at=data table("X KPP Last 24 Hours_csv");
/// select data when :complevel_1 == "U1"
at<<SELECT where=""> 0,
Eval(
Substitute(
Expr(
__col__ << set property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Show Limits( 1 )}
)
),
Expr( __col__ ), Parse( "bt:" || colNames[colNamesPosition[1]] ),
Expr( __LSL__ ), btl:LSL[i],
Expr( __USL__ ), btl:USL[i],
)
)
);
);
g1=Outline Box("U1",
bt<<VARIABILITY chart=""></VARIABILITY></SELECT> |
Quería trazar automáticamente la variabilidad y el gráfico bivariado, incluidos sus respectivos límites de control.
Descripción | Ejemplo |
Expectativa del gráfico de variabilidad | Consulte el gráfico de variabilidad.jrn |
Expectativa de gráfico bivariado | referirse al bivariado _Fit Y por X. jrn |
Consejo amable. Deseoso de conocer la respuesta de la secuencia de comandos y la explicación interactiva al respecto.
Gracias por tomarse el tiempo para considerar esta solicitud.
Hola @ Danial1 ,
Solo quiero informarle que el gráfico de variabilidad de JMP mostrará automáticamente los límites de especificación siempre que lo establezcamos en la propiedad de la columna (pero no en los límites de control).
Creo que está intentando mostrar los límites de especificación utilizando LSL y USL.
En su secuencia de comandos, hay un error tipográfico menor como se muestra en la imagen a continuación, después de corregir el LCL a LSL y UCL a USL, el script funciona bien. Puede intentar volver a ejecutarlo utilizando el script adjunto.

Además, creo que está tratando de comprender la parte iterativa del script.
colNames = bt << get column names( numeric, string );
For( i = 1, i <= N Rows( btl ), i++,
colNamesPosition = Loc( colNames, btl:Parameter[i] );
If( N Rows(colNamesPosition) > 0,
Eval(
Substitute(
Expr(
__col__ << set property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Show Limits( 1 )}
)
),
Expr( __col__ ), Parse( "bt:" || colNames[colNamesPosition[1]] ),
Expr( __LSL__ ), btl:LSL[i],
Expr( __USL__ ), btl:USL[i],
)
)
);
);
Intentaré explicar eso en el formulario de puntos a continuación.
1. Obtenga todos los nombres de columna en la tabla de subconjuntos (denominada U1)
2. Iterelo de acuerdo con el número total de filas en la tabla de límite de especificaciones (llamado btl)
3. Devuelva la matriz de cada columna en la tabla de límites de especificaciones (busque 'Loc' en Ayuda de JMP> Índice de secuencias de comandos)
4. Si aún quedan columnas por realizar, continúe sustituyendo las propiedades de la columna con LSL y / o USL de acuerdo con las columnas de la tabla Spec Limit (llamado btl)
No soy un experto en JSL, sin embargo, ¡espero que la explicación anterior ayude!
Hola @ Danial1
Desafortunadamente, ahora no hay forma de introducir Límite de control en ningún gráfico por preferencia, por lo que no hay forma de introducir dos conjuntos de límites en el mismo gráfico automáticamente.
Sin embargo, no dude en incluir sus deseos en la lista de deseos de Intel-JMP.
https://community.jmp.com/t5/Intel-Wish-List/idb-p/intel-ideas