JMP Script que cambia las propiedades de la columna USL y LSLTengo una función de script JMP que obtiene un conjunto de límites de especificación de un archivo de texto que se almacena dentro de la variable "Ntwk Osnr Spec Table Filename". Estoy tratando de cambiar las propiedades de las columnas USL y LSL de la columna "PctDiff_ModBer_q_calcBer dentro de la tabla de datos "Ntwk Osnr Data Table". Pero cuando ejecuto los siguientes comandos de secuencias de comandos JMP, no obtengo un error de secuencias de comandos, pero las propiedades de las columnas USL y LSL no se actualizan. El límite de especificación que se obtiene del límite de especificación es 1,7. Cuando paso por las siguientes líneas, el valor de 1.7 se actualiza dentro de la variable Speclimit, pero las propiedades de las columnas USL y LSL no se actualizan. Si establezco la variable Speclimit en una constante de 1,7, las propiedades de columna de USL y LSL se establecen en 1,7 y -1,7 respectivamente. Entonces, el problema debe ser obtener el valor del archivo de texto, pero puedo resolver el problema. ¿Puede alguien decirme cuál es la solución para obtener el límite de especificación de un archivo de texto y hacer que actualice las propiedades de la columna?
Include( "$CommonScriptPath/Function - Obtain Spec Limit Value.jsl" );
Speclimit = ObtainSpecLimit(
Ntwk Osnr Spec Table Filename, DeviceType, "*", "*", "ber_diffQcalc"
);
dt = Open( Ntwk Osnr Data Table Filename, invisible );
Data Table( dt ):PctDiff_ModBer_q_calcBer << Set Property(
"Spec Limits",
{LSL( (Speclimit * (-1)) ), USL( Speclimit ), Target( 0 ), Show Limits( 1 )}
);secuencias de comandosRe: Script JMP que cambia las propiedades de la columna USL y LSLAsegúrese de que los valores sean numéricos e intente usar Eval(EvalExpr()) y Expr()
Include("$CommonScriptPath/Function - Obtain Spec Limit Value.jsl");
Speclimit = ObtainSpecLimit(Ntwk Osnr Spec Table Filename, DeviceType, "*", "*", "ber_diffQcalc");
dt = Open(Ntwk Osnr Data Table Filename, invisible);
Eval(
Eval Expr(
Data Table(dt):PctDiff_ModBer_q_calcBer << Set Property(
"Spec Limits",
{LSL(Expr(Speclimit * (-1))), USL(Expr(Speclimit)), Target(0), Show Limits(1)}
)
)
);
Inserte una expresión en otra usando Eval Insert, Eval Expr, Parse y Substitute
Re: Script JMP que cambia las propiedades de la columna USL y LSLLos cálculos que está especificando dentro de una lista JMP no se evaluarán antes de la ejecución.Por lo tanto, la declaración debe analizarse y evaluarse por completo antes de que la función de sustitución logre eso.
Include( "$CommonScriptPath/Function - Obtain Spec Limit Value.jsl" );
Speclimit = ObtainSpecLimit(
Ntwk Osnr Spec Table Filename, DeviceType, "*", "*", "ber_diffQcalc"
);
dt = Open( Ntwk Osnr Data Table Filename, invisible );
Eval(
Substitute(
Expr(
Data Table( dt ):PctDiff_ModBer_q_calcBer <<
Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Target( 0 ), Show Limits( 1 )}
)
),
Expr( __LSL__ ), Speclimit * (-1),
Expr( __USL__ ), Speclimit
)
);