Creación de un gráfico de control de fase con límites históricos para cada fase.En mi blog " 4 formas de usar límites de control fijos / de línea de base (históricos) en Control Chart Builder ", Discutí cuatro métodos diferentes de ingresar límites de control histórico. En esta publicación de blog en particular, discutiré específicamente el establecimiento de límites históricos para un gráfico de control cuando hay una variable de fase involucrada.
La propiedad de la columna, establecer límites de control y los métodos de estado de fila excluidos no funcionarán en este escenario porque JMP solo permite que se defina un conjunto de límites de control para todo el gráfico utilizando estos métodos. El único método que funciona para un gráfico de control de fase en el que desea diferentes límites para cada fase es el método de obtención de límites. Esta publicación del blog entra en detalles sobre el método de obtención de límites con respecto a un gráfico de control de fase.
Ejemplo
En mi blog " Generando límites de control usando el Control Chart Builder , "Introduje un proceso de impresión. A los efectos de esta publicación de blog, la compañía de impresión desea reducir la variabilidad de la fuerza necesaria para romper el vínculo entre el papel y la columna vertebral del libro. Ellos quieren hacer esto para cada una de las tres fábricas diferentes. Se decide un nuevo proceso basado en un experimento diseñado. Los datos se recogen del nuevo proceso. El objetivo es trazar los nuevos datos en un gráfico de control con límites históricos del proceso anterior. De esta manera, la empresa de impresión puede comparar el nuevo proceso con los límites del proceso anterior.
Cada fábrica tiene diferentes máquinas, diferentes operadores y también está ubicada en diferentes países; por lo tanto, cada fábrica tiene un conjunto único de límites históricos e información. Los límites de control histórico se calcularon con datos antiguos (antes del cambio del proceso). Este gráfico de control de fase se puede ver a continuación.
Figure 1: Phase control chart with historical dataFigure 1: Phase control chart with historical dataFigure 1: Phase control chart with historical dataFigura 1: Gráfico de control de fase con datos históricos
Tabla de límites
Para usar el método de obtener límites, debemos tener una tabla de datos de límites. Se necesitan tres columnas en esta tabla de límites:
- Una columna _LimitsKey, que define la estadística.
- Una columna con el mismo nombre que la variable de proceso que contiene el valor de la estadística listada en la columna _LimitsKey.
- Una columna con el mismo nombre que la variable de fase que contiene información de identificación sobre a qué fase se aplica la estadística.
JMP 13.1 y superior crearán esta tabla por usted si hace clic en el triángulo rojo al lado de Control Chart Builder y elige Guardar límites -> en Nueva tabla. Para las versiones del software anteriores a JMP 13.1, puede crear esta tabla fácilmente desde la tabla Resumen de límites de un informe de Control Chart Builder. Para crear esta tabla, haga clic con el botón derecho en la tabla Resúmenes de límites de fuerza que se muestra en la Figura 1 y elija Crear en tabla de datos.
Figure 2: Force Limits Summary tableFigure 2: Force Limits Summary tableFigure 2: Force Limits Summary tableFigura 2: Tabla de resumen de límites de fuerza
Deberá realizar algunas manipulaciones en la tabla de datos para obtener esta tabla en el formato adecuado. Seleccione Tablas-> Apilar. Seleccione LCL, Avg y UCL y haga clic en Pila de columnas. En el cuadro junto a Nombre de la tabla de salida, escriba Forzar límites. Cambie el nombre de la columna de datos apilados a la fuerza.
Figure 3: Stack dialogFigure 3: Stack dialogFigure 3: Stack dialogFigura 3: diálogo de pila
Haga clic en Aceptar. Necesitamos crear la columna _LimitsKey. JMP está buscando _LCL, _Avg y _UCL en lugar de LCL, Avg y UCL. Para el gráfico de dispersión, JMP está buscando _LCLR, _AvgR y _UCLR. Podemos hacer esto usando una fórmula. En la tabla de límites de fase recién creada, seleccione Cols-> Nueva columna. Nombre la columna _LimitsKey. Haga clic en Propiedades de columna y seleccione Fórmula. Ingrese la siguiente fórmula.
Figure 4: Formula for the _LimitsKey columnFigure 4: Formula for the _LimitsKey columnFigure 4: Formula for the _LimitsKey columnFigura 4: Fórmula para la columna _LimitsKey
Haga clic en Aceptar.
Figure 5: New Column dialogFigure 5: New Column dialogFigure 5: New Column dialogFigura 5: Cuadro de diálogo Nueva columna
Haga clic en Aceptar. Su nueva tabla de límites debe verse como la siguiente.
Figure 6: Force limits data tableFigure 6: Force limits data tableFigure 6: Force limits data tableFigura 6: Tabla de datos de límites de fuerza
Cuadro de control de fase con límites históricos.
Se ha realizado un cambio en el proceso que la empresa de impresión espera que reduzca la variabilidad de la fuerza necesaria para romper el vínculo entre las páginas y la columna vertebral del libro. Tenemos una nueva tabla de datos que contiene 70 filas de datos que se registraron después de que se realizó este cambio. Nos gustaría utilizar los límites históricos en el nuevo gráfico para que podamos ver cómo los nuevos datos (después del cambio del proceso) se comparan con nuestra información histórica (antes del cambio del proceso).
Figure 7: Data from new processFigure 7: Data from new processFigure 7: Data from new processFigura 7: Datos del nuevo proceso
Para crear el gráfico de control, vaya a Analizar-> Calidad y proceso-> Generador de gráficos de control. Arrastre el sitio al rol de fase. Arrastre la Fuerza al rol de Y. Arrastre ejecutar en el eje x.
Figure 8: Force control chart with new dataFigure 8: Force control chart with new dataFigure 8: Force control chart with new dataFigura 8: Cuadro de control de fuerza con nuevos datos.
Para aplicar sus límites históricos a este gráfico, haga clic en el triángulo rojo al lado de Control Chart Builder y elija Obtener límites. Elija la tabla Force Limits.jmp que creó en la Figura 6.
Figure 9: Force control chart with historical limitsFigure 9: Force control chart with historical limitsFigure 9: Force control chart with historical limitsFigura 9: Cuadro de control de fuerza con límites históricos.
Conclusiones
Ninguno de los puntos se encuentra fuera de los límites de control para la ubicación o el gráfico de dispersión. El objetivo era reducir la variabilidad. Al observar el gráfico de rango móvil, vemos que la mayoría de los puntos caen por debajo de la línea promedio. Especialmente para los sitios 1 y 2, está claro que la variabilidad de la fuerza necesaria para romper el vínculo entre las páginas y la columna vertebral del libro ha disminuido. El sitio 3 no es tan obvio como los sitios 1 y 2. Parece que la variabilidad puede haberse reducido un poco. Sin embargo, no está claro si esto es un cambio significativo o no. Las mejoras en el proceso de impresión han logrado reducir la variabilidad.
Referencias
Software JMP: Notas del curso de control estadístico de procesos
Phase control chart with historical limitsPhase control chart with historical limitsPhase control chart with historical limitsCuadro de control de fase con límites históricos.
Vea cómo establecer límites históricos para un gráfico de control cuando hay una variable de fase involucrada.
Re: Creando un gráfico de control de fase con límites históricos para cada faseNo, no sé de una manera más elegante. Desafortunadamente, el comando Obtener límites solo usa una tabla de datos previamente guardada.
Re: Creando un gráfico de control de fase con límites históricos para cada faseDE ACUERDO. Gracias. Lo haré de esa manera en scripting. Significa que recorreré todas las categorías "por" en alguna tabla T1 y en cada iteración la tabla L1 de límites de guardado desde el archivo T1 a algún directorio temporal. Luego ejecutaré el comando Control chart y eliminaré el archivo L1. ¿Hay alguna forma más elegante de ejecutar todo esto sin guardar los límites de la tabla en cada iteración?Re: Creando un gráfico de control de fase con límites históricos para cada faseSí, usted puede hacer esto. Necesitaría una tabla separada para cada nivel de la variable por. Cada una de las tablas se vería igual que en la publicación del blog.
Re: Creando un gráfico de control de fase con límites históricos para cada faseHola Tonya, fue muy útil, gracias por tu blog. ¿Es posible crear varios gráficos de control con "Por" alguna categoría y "Obtener límites" de la tabla con diferentes límites para las fases de cada categoría? En caso afirmativo, ¿cómo debe verse la tabla de límites?Re: Crear un gráfico de control de fase con límites históricos para cada faseHola a todos: me complace informarles que con JMP 15.0 y posteriores, el comando Obtener límites ahora aceptará una tabla previamente guardada O una tabla de datos actualmente abierta.
Re: Crear un gráfico de control de fase con límites históricos para cada faseEsta es una GRAN característica que creo que me lleva al 90% de donde quiero estar con algo. Tengo un sistema donde estoy monitoreando unos cientos de gráficos de control. Los límites cambian a medida que un estándar de evaluación comparativa cambia con el tiempo. Esto me permitirá establecer los estándares de evaluación comparativa como fases.
Ahora, aquí está el desafío. Mi esperanza era usar un filtro de datos local para cambiar entre los cientos de gráficos de control. Esto funciona muy bien si estoy operando en el generador de gráficos, pero no veo una forma en que pueda filtrar mis límites y los datos.
¿Alguien ve alguna manera fácil de lograr esto?
Re: Crear un gráfico de control de fase con límites históricos para cada fase @Evan_Morris No estoy seguro de entender su configuración de datos o lo que está tratando de lograr. Quizás la plataforma Process Screening sería más adecuada para sus necesidades si tiene cientos de gráficos de control. Sugiero echar un vistazo a la siguiente publicación de blog, Límites de especificación de proceso que difieren según una columna de agrupación . Si echas un vistazo a la cuarta captura de pantalla en esta publicación de blog, verás que puedes ingresar a la línea central y sigma para los límites de control. Los límites de especificación no son necesarios para esta plataforma.
Re: Crear un gráfico de control de fase con límites históricos para cada faseTonya
Estoy monitoreando unos cientos de procesos de fabricación donde cada uno tiene su propio significado que cambia de vez en cuando. Estoy usando el gráfico de fases para gestionar ese cambio medio. He tenido suerte al usar los filtros de datos locales en la estructura gráfica normal para permitir una exploración rápida a través de los más de 100 conjuntos de datos, pero si lo hago, no puedo traer los límites de control.
Dicho esto, su punto en la detección de procesos es EXCELENTE. Creo que esta es la ruta que debería mirar.
Muchas gracias
Evan
Asunto: Creación de un gráfico de control de fase con límites históricos para cada faseHola,
La última pregunta que tuve en el grupo de discusión fue construir un "Eje X dinámico de filtro de tablero pero límites fijos de gráficos de control". Esta vez intenté mejorar mi tablero implementando también una fase en mis gráficos de control, ya que obtuve tres máquinas y cuatro parámetros que me gusta ver en mi tablero. Mi plan era seguir tu artículo aquí, pero tengo algunos problemas. Primero explicaré mi idea. Tengo una tabla de Excel con cuatro parámetros en formatos de columna y una columna que define en qué máquina se estaba ejecutando la producción. Importo la tabla a jmp, ejecuto mis 4 scripts para hacer un gráfico de control para cada parámetro que define la columna de la máquina como fase. Luego paso por el triángulo rojo y guardo los límites en 4 tablas (1). De esa manera tengo los límites guardados para la situación hasta que lleguen nuevos datos. Una vez que mi tabla de Excel original tiene nuevos datos, actualizo mi tabla jmp desde Excel. Ejecuto mis scripts para los 4 parámetros y, a través del triángulo rojo, obtengo mis límites de las tablas que guardé anteriormente en estos 4 gráficos de control. Luego ejecuto mi script para el tablero que contiene los cuatro gráficos de control.
Entonces ahora puedo ver si algo cambió en términos de parámetros o máquinas. Lo que me falta en este momento es que no sé cómo cambiar el nombre de las tablas en (1) a un nombre como "Parámetro de límites 1", lo que me facilitaría ponerlo todo en un script. Las tablas que obtengo de (1) no incluyen un script de cómo se construyeron.
Podría usar la forma en que describió obtener la tabla de límites y transformarla, pero no tuve éxito y pensé que debía haber un nuevo comando tal vez ya que su artículo es de 2017 y el uso de JMP 13 y los comandos detrás del menú del triángulo rojo deben estar en algún lugar. Entonces, con ese comando, podría crear mi script, supongo.
Atentamente,
ene
Re: Creación de un gráfico de control de fase con límites históricos para cada fase@jan_kreuzmann Estoy confundido en cuanto a para qué está pidiendo ayuda. Parece que todavía está utilizando Control Chart Builder en lugar de Process Screening. También parece que desea saber cómo cambiar el nombre de su tabla de límites. Puede hacerlo con el comando set name. Si no he entendido bien, proporcione más información. Sería útil algún código de muestra y quizás imágenes de lo que desea.
dt=Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
obj=dt<<CONTROL chart="" builder=""></CONTROL>Asunto: Creación de un gráfico de control de fase con límites históricos para cada fase@tonya_mauldin el guión que enviaste funcionó bien. Gracias.
Como no estoy familiarizado con Process Screening, estaba tratando de implementar fases en mis gráficos de control (los que solía configurar en la publicación "Eje X dinámico del filtro del tablero pero límites fijos de los gráficos de control"), que luego uso para configurar el tablero.
Tengo una tarifa como esta:
// get the open table as current one
dt = current data table();
// make control charts for all parameters with machine as phase and save the limits into data table
obj=dt<Size( 528, 464 ),
Show Two Shewhart Charts( 0 ),
Test Excluded Subgroups( 0 ),
Show Control Panel( 0 ),
Include Missing Categories( 0 ),
Show Excluded Region( 0 ),
Show Limit Summaries( 0 ),
Variables( Subgroup( :Lot Nr. ), Y( :Parameter 1 ), Phase( :Machine ) ),
Chart(
Points( Statistic( "Individual" ) ),
Limits( Sigma( "Moving Range" ), Zones( 1 ), Shade Zones( 1 ) )
),
SendToReport(
Dispatch(
{},
"Control Chart Builder",
FrameBox,
{DispatchSeg(
TextSeg( 1 ),
{Line Color( "None" ), Fill Color( "None" )}
), DispatchSeg(
TextSeg( 2 ),
{Line Color( "None" ), Fill Color( "None" )}
), DispatchSeg(
TextSeg( 3 ),
{Line Color( "None" ), Fill Color( "None" )}
)}
)
)
);
dtLimits=obj<dtLimits<<Set Name("Limits Parameter 1");
Haría esto para todos mis parámetros.
Entonces estaba pensando:
Con los gráficos de control configuro un tablero,
luego actualice mi tabla jmp.
dt1 = Current Data Table();
n_rows = N Rows();
dt2 = Open(
"//Dashoardtest.xlsx",
Worksheets( "Tabelle1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 1 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 0 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
dt2 << DeleteRows( Index( 1, n_rows ) );
dt1 << Concatenate( dt2, Append to first table );
Close( dt2 );
Names Default To Here( 1 );
dt = Current Data Table();
esto actualizaría automáticamente mi panel de control, que a su vez calculará nuevos límites.
En este panel, ahora tengo el mismo problema que tenía con el anterior, ya que los límites se calcularán de acuerdo con el número de lote que elija. La última vez ayudó con el comando para guardar los límites en las propiedades de la columna, pero esto solo funciona sin una fase.

Todavía puedo obtener los límites antiguos de las tablas en el gráfico de control de mi tablero abierto manualmente usando el menú del triángulo rojo, pero no veo la posibilidad de hacerlo con un script.
En otras palabras, ¿cómo puedo obtener los límites de los primeros gráficos de control en mi panel de control ahora actualizado?
¿Y cómo puedo hacer que el tablero mantenga los límites sin importar el número de lote que elija? como si lo tuviera ejecutándose en el otro tablero:

Aquí puede ver que solo elegí un lote y todavía se muestran todos los límites.
Quizás tengas una idea de lo que podría hacer.
atentamente
ene
Re: Creación de un gráfico de control de fase con límites históricos para cada fase@jan_kreuzmann Debe usar el comando Obtener límites como se muestra en la publicación del blog. Puede encontrar un ejemplo de cómo escribir esto en el índice de secuencias de comandos de objetos.
dt = Open(<BR />"$SAMPLE_DATA/Quality Control/Coating.jmp"<BR />);<BR />obj = dt <<<BR />Control Chart Builder(<BR />Variables( Subgroup( :Sample ), Y( :Weight ) ),<BR />Chart(<BR />Position( 1 ),<BR />Points( Statistic( "Average" ) ),<BR />Limits( Sigma( "Range" ) )<BR />),<BR />Chart(<BR />Position( 2 ),<BR />Points( Statistic( "Range" ) ),<BR />Limits( Sigma( "Range" ) )<BR />),<BR />Get Limits(<BR />"$SAMPLE_DATA/Quality Control/CoatingLimits.jmp"<BR />)<BR />);
Como nombró a su tabla dtLimits, puede usar
Get Limits(dtLimits)
Re: Creación de un gráfico de control de fase con límites históricos para cada fase@jan_kreuzmann No estoy seguro de haber entendido bien, pero tal vez de esta manera ayude a obtener la tabla de límites, incluidas las fases:
obj = Open( "$SAMPLE_DATA/Cities.jmp" ) << Control Chart Builder(
Test Excluded Subgroups( 1 ),
Variables( Y( :OZONE ), Phase( :Region ) )
);
obj << Save Limits ( in New Table);
¿Es eso (una de las cosas) lo que necesitas?