Etiqueta de gráfico IR y LCLTengo la siguiente secuencia de comandos que funciona bien, crea múltiples gráficos de IR basados en valores en una lista generada a partir de valores únicos a partir de una tabla de datos. Me gustaría etiquetar cada gráfico del mismo modo que el valor en la lista desde la que se generó. También me gustaría establecer todos mis límites de control inferiores a 0. No puedo ver cómo hacer esto.
resume (SNTime2, UnitNames = by (Column ("Sub_name")));
count_UnitNames = nitems (UnitNames);
Nueva ventana ("M11 Runtime times Summary - Control Chart",
Cuadro de lista V (
para (i = 1, i <= count_UnitNames, i ++,
Tabla de control(
Etiqueta de muestra (: Fecha),
Tamaño del grupo (1),
KSigma (3),
Gráfico Col (: Nombre ("Mean (Runtime)"), Medición individual),
Donde (: Sub_name == UnitNames [i]),
SendToReport (
Envío(
{"Medición individual de la media (tiempo de ejecución)"},
"2",
ScaleBox,
{Formato ("hr: m: s", 11, 0)}
)));
);
));
Gracias
Re: Etiqueta IR Chart y LCLTe mostraré los cambios necesarios para hacer lo que quieres, sin embargo, lo haré mostrándote que puedes resolver esto por ti mismo, porque JMP te mostrará cómo hacerlo.
Su solicitud es cambiar el nombre del cuadro de esquema que se crea que repite el título, "Medición individual de la media (tiempo de ejecución)". Entonces, el primer paso es simplemente cambiar ese título en una de las salidas.

Luego vaya al triángulo rojo y guarde el script para el gráfico modificado
Control Chart(
Sample Label( :Date ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Name( "Mean(RunTime)" ), Individual Measurement( LCL( 0 ) ) ),
Where( :Sub_name == UnitNames[i] ),
SendToReport(
Dispatch(
{},
"Individual Measurement of Mean(RunTime)",
OutlineBox,
{Set Title( "This is the title I want to have" )}
),
Dispatch(
{"Individual Measurement of Mean(RunTime)"},
"2",
ScaleBox,
{Format( "hr:m:s", 13, 0 )}
),
Dispatch(
{"Individual Measurement of Mean(RunTime)"},
"Control Chart Limits frame",
FrameBox,
{Frame Size( 64, 208 )}
)
)
);
Observe cómo JMP indicó cómo cambiar el gráfico para hacer que el título del cuadro de esquema tenga un nombre diferente
Dispatch(
{},
"Individual Measurement of Mean(RunTime)",
OutlineBox,
{Set Title( "This is the title I want to have" )}
)
Ahora todo lo que tiene que hacer, es reincorporar este cambio nuevamente a su script, y sustituir el título por UnitNames [i], que son las entradas de su lista para su Sub_name solicitado.
New Window( "M11 Runtime times Summary - Control Chart",
V List Box(
For( i = 1, i <= count_UnitNames, i++,
Control Chart(
Sample Label( :Date ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Name( "Mean(Runtime)" ), Individual Measurement( LCL( 0 ) ) ),
Where( :Sub_name == UnitNames[i] ),
SendToReport(
Dispatch(
{},
"Individual Measurement of Mean(RunTime)",
OutlineBox,
{Set Title( UnitNames[i] )}
),
Dispatch(
{"Individual Measurement of Mean(Runtime)"},
"2",
ScaleBox,
{Format( "hr:m:s", 11, 0 )}
)
)
)
)
)
);
Re: Etiqueta IR Chart y LCLGracias que trabaja por los límites.
¿Cómo cambio el nombre de los gráficos IR? Produzco entre 16 y 20 gráficos en una ventana vertical. Cuando lo creo a partir de los datos de la tabla, todos están etiquetados con el valor de la columna Subnombre, pero cuando lo creo desde el script se etiquetan con "Gráfico de control" y "Medición individual de la media (tiempo de ejecución)". Me gustaría que cada gráfico esté etiquetado con el valor en UnitNames [i].
Gracias de nuevo.
Re: Etiqueta IR Chart y LCLLos enfoques que tomé para resolver este problema fue usar una tabla de límites guardada, donde solo se especifica un límite inferior con el valor de "0" y también un ejemplo de la especificación del LCL en la especificación de la gráfica IM.
Names Default To Here( 1 );
// Setup some sample data
SNTime2 = Open( "$SAMPLE_DATA/Quality Control/Phase Historical Data.jmp" );
SNTime2:Force << set name("Mean(RunTime)");
SNTime2:Site << set name("Sub_name") << data type( character );
SNTime2 << New Column("Date",format("m/d/y"),formula(today()));
// create a limits table with just a lower limit of zero and save it
dtlim = New Table( "Limits",
Add Rows( 1 ),
New Column("_LimitsKey",
Character( 4 ),
"Nominal",
Set Values( {"_LCL"} )
),
New Column("Mean(Runtime)",
Numeric,
"Continuous",
Format( "Best", 10 ),
Set Values( [0] ),
Set Display Width
)
);
close( dtlim, save("$TEMP\limits.jmp"));
// Run your code
Summarize( SNTime2, UnitNames = by( Column( "Sub_name" ) ) );
count_UnitNames = N Items( UnitNames );
New Window( "M11 Runtime times Summary - Control Chart",
V List Box(
For( i = 1, i <= count_UnitNames, i++,
Control Chart(
Sample Label( :Date ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Name( "Mean(Runtime)" ), Individual Measurement ),
// Read in limits
Get Limits( "$TEMP\limits.jmp" ),
Where( :Sub_name == UnitNames[i] ),
SendToReport(
Dispatch(
{"Individual Measurement of Mean(Runtime)"},
"2",
ScaleBox,
{Format( "hr:m:s", 11, 0 )}
)
)
)
)
)
);
La documentación sobre el uso de la tabla de límites se puede encontrar en el libro de Métodos de calidad y proceso.
Ayuda ==> Libros ==> Calidad y Proceso
y en el Índice de Scripting
Ayuda ==> Índice de secuencias de comandos ==> Gráfico de control
También puede usar la especificación LCL en el gráfico de IM para obtener los mismos resultados
// You can also just use the LCL paramater on the IM specification
Summarize( SNTime2, UnitNames = by( Column( "Sub_name" ) ) );
count_UnitNames = N Items( UnitNames );
New Window( "M11 Runtime times Summary - Control Chart",
V List Box(
For( i = 1, i <= count_UnitNames, i++,
Control Chart(
Sample Label( :Date ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Name( "Mean(Runtime)" ), Individual Measurement( LCL(0)) ),
Where( :Sub_name == UnitNames[i] ),
SendToReport(
Dispatch(
{"Individual Measurement of Mean(Runtime)"},
"2",
ScaleBox,
{Format( "hr:m:s", 11, 0 )}
)
)
)
)
)
);