límites automáticos SPEC en var. cartasHola
Creé un script que genera un gráfico de variabilidad que se muestra en el eje Y: NewValue y en el eje X: ENTITY.
ATTRIBUTE_NAME filtra el gráfico de variabilidad, por lo que obtengo muchos gráficos, cada uno para cada nombre de atributo.
deseo que el script agregue los límites relevantes de SPEC de una tabla de datos adicional (llamada: "Límites de SPEC de gases") a nuevas columnas y genere un gráfico de variabilidad para cada nombre de atributo con sus valores específicos de SPEC.
no se pudo entender cómo hacerlo, por favor ayuda!
adjunto aquí está mi script fallido hasta ahora para generar USL manualmente para 3 atributos diferentes:
dt = tabla de datos actual ();
dt << Nueva columna ("USL",
Numérico,
Continuo,
Fórmula (If (: ATTRIBUTE_NAME == "Gas07TactrasFlowCheckF2", 65,
If (: ATTRIBUTE_NAME == "Gas08TactrasFlowCheckF2", 70,
If (: ATTRIBUTE_NAME == "Gas04TactrasFlowCheckF2", 15, 10)
)))
);
varch = dt << Gráfico de variabilidad (
Y (: NewValue),
X (: ENTIDAD),
Por (: ATTRIBUTE_NAME),
Mostrar barras de rango (0),
Mostrar medias de celda (0),
Conectar medias de celda (0),
Mostrar separadores (0),
Gráfico de desarrollo estándar (0),
Puntos inestables (1),
Etiquetas AIAG (0),
NOMBRE DEL ATRIBUTO
SendToReport (
Envío(
{},
"1",
ScaleBox,
{Agregar línea de referencia (__ Superior__, "Sólido", "Negro", "gfgfd", 1)}
),
Envío(
{},
"Parcela unidireccional",
FrameBox,
)
)
);
Para (i = 1, i <= N filas (dt), i ++,
informe (varch) [axisbox (1)] << Agregar línea de referencia (dt: LSL [i], "Sólido", "Verde oscuro", "Objetivo", 1);
informe (varch) [axisbox (1)] << Agregar línea de referencia (dt: USL [i], "Sólido", "Verde oscuro", "", 1);
);
Re: límites automáticos SPEC en var. cartasHay 2 problemas con tu script
- El gráfico de variabilidad no genera 1 estructura de informe para su salida, sino que genera una estructura de informe para cada grupo. Por lo tanto, especificando
Report( varch )[AxisBox(1)]
es una referencia incorrecta, debe especificar a cuál de las estructuras del informe desea hacer referencia, como por ejemplo para " Gas07TactrasFlowCheckF2 "que es alfabéticamente el primero por grupo, la referencia sería
Report( varch[1] )[AxisBox(1)]
- Su bucle For () creará un conjunto de líneas de referencia para cada una de las filas de su tabla de datos. Supongo que puede tener cientos de filas en su tabla de datos, y estaría escribiendo las mismas líneas una y otra vez. Lo que debe hacer es crear una tabla de resumen con solo una fila para cada VarChart que vaya a crear, y luego pasar por esa tabla y aplicar los valores al Gráfico de variabilidad apropiado.
He adjuntado un ejemplo que ilustra cómo es posible que desee hacer su secuencia de comandos
names default to here(1);
dt=Open("$SAMPLE_DATA/big class.jmp");
// add the USL and LSL to the data as in your example
dt << New Column( "LSL", formula(
If(:Age == 12, 52,
:Age == 13, 57,
:Age == 14, 62,
:Age == 15, 64,
:Age == 16, 64,
64
)
));
dt << New Column( "USL", formula(
If(:Age == 12, 65,
:Age == 13, 66,
:Age == 14, 70,
:Age == 15, 70.5,
:Age == 16, 71,
72
)
));
// Create a summary table with one row for each level of Age
dtSum = dt << Summary(
Group( :age ),
Mean( :LSL ),
Mean( :USL ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" )
);
varch = dt << Variability Chart( Y( :height ), X( :sex),by(:age));
// For each row of the summary table, take it's values add apply to the appropriate
// chart in the Variability Chart
For( i=1, i<=N Rows(dtSum), i++,
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:LSL[i], "Solid", "Dark Green", "Target", 1 );
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:USL[i], "Solid", "Dark Green", "", 1 );
);Re: límites automáticos SPEC en var. cartas¡Gracias por tu respuesta!
para avanzar mi script aún más, me gustaría unir mi tabla actual (con los datos que estoy dispuesto a analizar) con otra tabla de datos (límites de SPEC) que es constante y nunca cambia.
La tabla de datos de límites SPEC contiene estas columnas: "Gas__TactrasFlowCheckF_", "LSL", "TARGET", "USL".
el símbolo de la primera columna "_" representa las opciones para 1-14 gases diferentes con 4 tipos de ajustes de flujo para cada gas.
Unir los datos a una tabla facilitaría más que escribir cada límite de especificación para cada tipo de gas.
La tabla de 2 datos comparte solo 1 columna "Gas__TactrasFlowCheckF" y quiero que el script agregue 3 límites de SPEC a mi tabla actual, para cada fila.
Después de unirme a la tabla de datos, usaría el script en la primera respuesta para generar var. gráficos para cada flujo de gas con sus configuraciones de especificaciones específicas.
Una segunda cosa que me gustaría hacer es la trama Bivariada:
en el eje X colocaría "Tiempo", y para el eje Y: "Valor". generaría un gráfico para cada configuración de flujo.
Tuve dificultades para agregar líneas de referencia ("LSL", "TARGET", "USL") a cada parcela.
¡Apreciaría mucho tu ayuda con esto!
Gracias