Necesito poner límites en una columna de datos de una tabla separada.Esa tabla tiene un "0" si ese límite en particular no está establecido.Este script funciona bien para cargar los límites si no hay límites, o si tiene ambos límites, pero no he podido hacerlo funcionar cuando solo hay un límite.Pone ambos en dejar el segundo límite fijado en "0".
//set limits
If( db_Tests:MinLimit[TestRow[1]] != 0 | db_Tests:MaxLimit[TestRow[1]] != 0,
Eval(
Substitute(
Expr(
col << set property( "Spec Limits", {LSL( _L ), USL( _U ), Show Limits( 1 )} )
),
Expr( _L ), db_Tests:MinLimit[TestRow[1]]
,
Expr( _U ), db_Tests:MaxLimit[TestRow[1]]
)
)
);Intenté ponerlos de uno en uno. Si el LSL no es "0", actualice el LSL, luego, si el USL no es "0", actualice ese.El problema con eso es que sobrescribe el primero si ambos tienen límites.En otras palabras, de esa manera funciona para todos los casos, excepto cuando existen LSL y USL, pero cuando ambos existen, coloca el primero y luego, cuando coloca el segundo, el primero desaparece.Agradecería cualquier ayuda en este caso. Gracias
¿Qué tal si configuramos los valores 0 como perdidos con algo como esto:
Names Default To Here(1);
dt = New Table("Untitled 2",
Add Rows(2),
Compress File When Saved(1),
New Column("col", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2]))
);
//both
minVal = 1;
maxVal = 2;
Eval(
Substitute(
Expr(
dT:col << set property( "Spec Limits", {LSL( _L ), USL( _U ), Show Limits( 1 )} )
),
Expr( _L ), If(minVal == 0, ., minVal)
,
Expr( _U ), If(maxVal == 0, ., maxVal)
)
);
Show(dt:col << Get Property("Spec Limits"));
//missing maxval
minVal = 1;
maxVal = .;
Eval(
Substitute(
Expr(
dT:col << set property( "Spec Limits", {LSL( _L ), USL( _U ), Show Limits( 1 )} )
),
Expr( _L ), If(minVal == 0, ., minVal)
,
Expr( _U ), If(maxVal == 0, ., maxVal)
)
);
Show(dt:col << Get Property("Spec Limits"));
//maxval 0
minVal = 1;
maxVal = 0;
Eval(
Substitute(
Expr(
dT:col << set property( "Spec Limits", {LSL( _L ), USL( _U ), Show Limits( 1 )} )
),
Expr( _L ), If(minVal == 0, ., minVal)
,
Expr( _U ), If(maxVal == 0, ., maxVal)
)
);
Show(dt:col << Get Property("Spec Limits"));