límites de especificaciones asignados de la columna de límitesHola,
Tengo una tabla de datos con las siguientes columnas, ¿cómo puedo asignar los límites a la columna de valor como propiedad?
es decir, cuando trazo el valor por fecha, veré esos límites automáticamente

Lo intenté
:value << set property(
"spec limits",
{LSL( : LCL ) , USL( : UCL ), Target( : Target ), Show Limits( 1 )}
);¡gracias!
Re: límites de especificaciones asignados desde la columna de límitesLa información de esta pista supone que hay 2 tablas de datos abiertas en su sesión JMP.Una tabla de datos que contiene los datos de medición y una segunda tabla que contiene los límites de especificaciones.Su función Open() abre un archivo de Excel llamado "Data.xlsx.¿Son estos tus datos de medición o tus datos de límites?En cualquier caso, no puede insertar en la función Open() el JSL que modifica los límites de especificación.Tanto la tabla de medidas como la tabla que contiene los límites deben leerse completamente y luego se debe aplicar el código de actualización de límites.
Re: límites de especificaciones asignados desde la columna de límitesHola @txnelson ,
Soy algo nuevo en JMP. ¿Dónde pondría este código? El siguiente es el script en la Fuente.
Open(
"Data.xlsx",
Worksheets( {"Sheet2"} ),
Use for all sheets( 1 ),
Concatenate Worksheets( 1 ),
Create Concatenation Column( 1 ),
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( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" ),
Eval(
Substitute(
Expr(
:value << set property(
"spec limits",
{LSL( __LSL__ ), USL( __USL__ ), ., Show Limits( 1 )}
)
),
Expr( __LSL__ ), :LSL[10],
Expr( __USL__ ), :USL[7],
)
)
)
)
Esto no funciona para mí. Intentar depurar el script provocando una interrupción, sin importar dónde puse un punto de interrupción. Cualquier ayuda sería apreciada.
Re: límites de especificaciones asignados desde la columna de límites¡Con alegría! ¿Alguna vez has probado Ardbeg Uigeadail? ¿Vienes a Discovery 2018 en Cary?
Re: límites de especificaciones asignados desde la columna de límites1 whisky escocés de malta == 2 cervezas
Re: límites de especificaciones asignados desde la columna de límitesJim:
¡Gracias! Ahora te debo dos cervezas
.
Un día de estos tendré que enfrentar mi miedo a Eval/Expr/Substitute
Re: límites de especificaciones asignados desde la columna de límitesAquí hay un script simple que establecerá Mostrar límites sin eliminar los límites ya establecidos
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
mycols = dt << Get Column Names( numeric, string );
For( i = 1, i <= N Items( mycols ), i++,
spec = Column( dt, mycols[i] ) << Get Property( "Spec Limits" );
If( Is Empty( spec ) == 0,
LSL = Try( spec["LSL"], . );
USL = Try( spec["USL"], . );
Target = Try( spec["Target"], . );
Eval(
Substitute(
Expr(
Column( dt, mycols[i] ) <<
Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ),
Target( __Target__ ), Show Limits( 1 )}
),
),
Expr( __LSL__ ), LSL,
Expr( __USL__ ), USL,
Expr( __Target__ ), Target
)
);
);
);Re: límites de especificaciones asignados desde la columna de límitesAdán:
Mi solicitud era poder alternar 'Mostrar como líneas de referencia del gráfico' para los límites de especificaciones. Después de hacer Capacidad de proceso, cargar los límites de especificaciones de una tabla y luego guardarlos en la propiedad de columna, noté que ninguna de las columnas tenía la 'Mostrar como líneas de referencia gráfica' marcado. Para 55 columnas no quería hacer esto manualmente (pero lo hice; busqué en la documentación pero pude descubrir cómo hacerlo). Ahora tengo JSL que puede hacerlo. Cambie el (1) por un (0) para alternar. Desea ver las líneas de límite de especificaciones para algunos gráficos, pero no para otros.
Nombres predeterminados aquí (1);
dt = Tabla de datos actual();
mycols = dt << Obtener nombres de columnas (cadena);
Para (i = 2, i <= N elementos (mycols), i++,
Columna (i) << Establecer propiedad ("Límites de especificación", {Mostrar límites (1)});
);
Entonces, este JSL alternará Mostrar límites(), pero borrará el LSL(), Target(), USL() asignado a la columna.
¿Alguien por ahí tiene una manera de alternar solo Mostrar límites ()?
Re: límites de especificaciones asignados desde la columna de límitesNo funciona para mí,
¿Quiso decir como en el ejemplo?
biv=Bivariate(
Y( :VALUE ),
X( :DATE ),
By(
:TEST
)
);
biv << Show Limits(1);
Re: límites de especificaciones asignados desde la columna de límitesMostrar límites (1): ayer estuve buscando en la guía de secuencias de comandos cómo hacer esto en un montón de columnas. ¡Gracias!Re: límites de especificaciones asignados desde la columna de límitesHola,
Gracias por la solución a la pregunta original.
Tengo otra pregunta sobre el mismo tema/ejemplo.
¿Puedo crear una propiedad de columna inteligente o una propiedad de gráfico de tendencias para que cuando cree un gráfico de tendencias usando jsl se incluyan los límites?
Creo que tiene que haber algo porque tengo valor y límites en cada fila.Re: límites de especificaciones asignados desde la columna de límitesSu tabla de datos de ejemplo no contiene ninguna columna denominada LSL o USL.Suponiendo que existen, pero simplemente faltan en la pantalla, su código sigue teniendo un par de problemas.Primero, está intentando insertar valores en una estructura de lista.
{LSL( : LSL ) , USL( : USL ), Target( : Target ), Show Limits( 1 )}
Debido a que se trata de una lista, no se analizará ni evaluará por sí misma.
El segundo elemento es que los límites de especificación son una propiedad de columna y, por lo tanto, solo se puede establecer 1 conjunto de límites de especificación para su columna: Valor.Si tiene columnas denominadas :LSL, :Target y :USL, deberá especificar qué fila de la tabla de datos contiene esos límites.A continuación se muestra un método que se puede utilizar para agregar los límites de especificaciones.En el código, supongo que hay columnas de :USL, :Target y :USL, y que la fila 5 contiene los valores que desea usar.
Eval(
Substitute(
Expr(
:value << set property(
"spec limits",
{LSL( __LSL__ ), USL( __USL__ ), Target( __Target__ ), Show Limits( 1 )}
)
),
Expr( __LSL__ ), :LSL[5],
Expr( __USL__ ), :USL[5],
Expr( __Target__ ), :Target[5]
)
);