Obtener límites de control de la propiedad de la columnaEncontré este tema anteriormente para extraer los límites de especificación de las propiedades de la columna.
https://community.jmp.com/t5/Discussions/Get-column-Property-and-store-as-list/td-p/50885
Sin embargo, también necesito hacer algo similar con los límites de control.Para esto, sin embargo, el mismo principio no funciona.
CTRL = Columna (nombre de columna) << Obtener propiedad ("Límites de control");
LCL = CTRL["LCL"];
Devoluciones: Nombre no encontrado. en acceso o evaluación de 'Subíndice', CTRL[/*###*/"LCL"]
No puedo entender por qué la indexación es inconsistente aquí.En general, parece que JSL es muy inconsistente con el acceso a la información del campo del objeto indexado.¿Se me escapa algo?Parece que paso la mitad de mi tiempo escribiendo secuencias de comandos tratando de descubrir cómo obtener acceso a la información incrustada en los objetos.
Re: Obtener límites de control de la propiedad de la columnaVaya, eso es feo. Me sorprende que no haya una forma directa de extraer estos datos... Supongo que es una razón más para empujar más de mi código fuera de JMP donde sea posible.Agradezco la respuesta, especialmente dada la profundidad requerida para realizar la tarea.
Re: Obtener límites de control de la propiedad de la columnaNo es tan simple... ojalá lo fuera.Aquí hay un código que he usado... puede haber un mejor código por ahí... Lo personalicé para los límites de las medidas individuales... pero se puede expandir
cLimits = dt:npn1 << get property( "control limits" );
For( i = 1, i <= N Items( cLimits ), i++,
If( Trim( Word( 1, Char( cLimits[i] ), "(,)" ) ) == "Individual Measurements",
IRLimits = Char( cLimits[1] );
k=2;
While( Word( k, IRLimits, "()" ) != "",
If(
Word( k, IRLimits, "()" ) == "Avg",
Avg = Word( k + 1, IRLimits, "()" ),
Word( k, IRLimits, "()" ) == "LCL",
LCL = Word( k + 1, IRLimits, "()" ),
Word( k, IRLimits, "()" ) == "UCL",
UCL = Word( k + 1, IRLimits, "()" )
);
k++;
);
)
);Re: Obtener límites de control de la propiedad de la columnaMe di cuenta de la agrupación diferente y probé una docena de formas diferentes para tratar de sacarlo del objeto secundario sin suerte.El depurador muestra que obtiene mis límites de control de Mediciones individuales, pero ninguna forma de indexación que probé parecía poder extraer los valores límite individuales del objeto.
Esperaría poder hacer algo como
LCL = (CTRL["Medidas individuales"])["LCL"];
o
LCL = CTRL("Medidas individuales")["LCL"];
o algo similar a la programación convencional/lenguajes de secuencias de comandos, pero nada parecía funcionar.¿Cómo se supone que voy a tener acceso a esos datos?
Re: Obtener límites de control de la propiedad de la columnaLos límites de especificación no son tan complejos como los límites de control.Para los límites de especificaciones, básicamente tiene LSL, Target y USL.Para los límites de control, puede tener varias agrupaciones diferentes de LCL, Promedio y UCL debido a los diferentes tipos de límites de control.Vea a continuación el resultado de la estructura de Límites de especificación y Límites de control para la misma columna.
dt:npn1 << get property("spec limits") = {LSL(104.41), USL(131.89), Target(118.15)};
dt:npn1 << get property("control limits") = {XBar(Avg(115), LCL(110), UCL(120), Subgroup Size(3)), R(Avg(10), LCL(5), UCL(15), Subgroup Size(3))};
Por lo tanto, la recuperación y el análisis de un límite de control tiene que ser completamente diferente al de los límites de especificación.