Agregar secuencia de comandos de límites de especificaciones, error al pasar a jmp 16Hola amigos, nuevos en jmp scripting.Tengo un script adjunto que se escribió en 2012 y ahora no funciona desde que me mudé a jmp16, funcionó bajo jmp14.Básicamente, me permite leer los límites de especificación superior e inferior para todos los parámetros de la columna. A continuación se muestra el mensaje de error y una muestra de mi archivo de datos una vez que lo he leído.Cualquier ayuda sería muy apreciada.Yo no escribí el guión y la persona ya dejó la compañía.
Gracias de antemano por cualquier ayuda.


secuencias de comandosRe: Agregar secuencia de comandos de límites de especificación, error al pasar a jmp 16Hubo 2 problemas.
- No se había establecido el valor de la variable "Versión".
- En JMP 16, el código se detiene cuando se encuentra con una variable de carácter.
Solucioné ambos problemas.En lugar de verificar un tipo de datos de carácter, en realidad verifico para asegurarme de que el tipo de modelado sea continuo.Las columnas numéricas nominales u ordinales tampoco deben tener límites de especificación establecidos.
Names Default To Here( 1 );
version = JMP Version();
/*** This script will save the values in the specified rows as ***/
/*** Spec Limit column attributes for each respective column. ***/
/*** If there is no value for a particular column, the Spec ***/
/*** Limit attribute for that column will not be changed. By ***/
/*** saving the limits as column attributes, the Cpk analysis ***/
/*** along with limits reference markers, will automatically ***/
/*** be generated whenever a distribution is generated for a ***/
/*** column. ***/
/*** Alternatively, this script can be used to delete the ***/
/*** Spec Limits column attributes altogether by checking the ***/
/*** "Delete Attributes" checkbox. ***/
// 10/28/2004 v2.0
// 12/24/2012 v2.1, modified to handle limits with units, like "2 Ohms"
Limits_dlg = Dialog(
Text Box( Version ),
Text Box( " " ),
Text Box( " " ),
Text Box( " " ),
Text Box( "Spec Limits:" ),
Text Box( " " ),
LineUp( 2,
"LSL is in row", LSLRow = EditNumber( 1 ),
"USL is in row", USLRow = EditNumber( 2 )
),
Text Box( " " ),
Text Box( " " ),
Text Box( " " ),
Text Box( "My table already has Spec Limits attributes, and I want to delete them... " ),
DelAttr = Check Box( "Delete Attributes", 0 ),
Text Box( " " ),
HList( Button( "OK" ), Button( "Cancel" ) )
);
If( Limits_dlg["Button"] == -1,
Throw( "!User Cancelled" )
);
If( Limits_dlg["DelAttr"] == 1,
For( i = 1, i < N Col() + 1, i++,
Column( i ) << Delete Property( "Spec Limits" )
),
//Else...
For( i = 1, i < N Col() + 1, i++,
If( As Column( i ) << get modeling type == "Continuous",
LSpec = Column( i )[Limits_dlg["LSLRow"]];
LSpec = Num( Word( 1, Char( LSpec ) ) ); //Truncate to numeric if it has units appended to it.
USpec = Column( i )[Limits_dlg["USLRow"]];
USpec = Num( Word( 1, Char( USpec ) ) ); //Truncate to numeric if it has units appended to it.
Eval(
Substitute(
Expr(
Column( i ) << Set Property(
"Spec Limits",
{LSL( _LSL ), USL( _USL ), show limits( 1 )}
)
),
Expr( _LSL ), LSpec,
Expr( _USL ), USpec
)
);
)
)
);
Re: Agregar secuencia de comandos de límites de especificación, error al pasar a jmp 16Gracias tx,
Sigue siendo el mismo mensaje de error.Solo agregaste dos líneas, creo, ¿no hay otros cambios?
Me di cuenta de que me perdí una línea original en el archivo de organización.
Versión = "Límites como atributos, v2.1 24 de diciembre de 2012";
arriba estaba en el archivo original, no estoy seguro si eso cambia su solución propuesta.
Cuando observo los valores de la versión, ciertamente se lee 16, que es lo que estoy ejecutando.¿Se cuelga cuando trato de ver Names Default to Here?
Nombres predeterminados hasta aquí (1);
Versión = versión JMP ();
Gracias
Re: Agregar secuencia de comandos de límites de especificación, error al pasar a jmp 16No hay nada que ver con Names Default to Here().Solo está configurando un alcance predeterminado.Si su código está en el medio de un código más grande, los nombres predeterminados aquí () deben moverse a la primera línea del JSL, y si eso no funciona, elimine la línea por completo.También agregué una nueva cláusula If(), para no procesar los límites de especificación si la columna no es una columna continua numérica.
Quitar el
Version = JMPVersion();
y usa tu
Version = "Limits as Attributes, v2.1 December 24, 2012";