Legen Sie ein Limit für Spalten fest, ohne andere Limits zu überschreibenIch muss Grenzen in eine Datenspalte aus einer separaten Tabelle setzen.Diese Tabelle hat eine "0", wenn diese bestimmte Grenze nicht gesetzt ist.Dieses Skript funktioniert gut zum Laden der Limits, wenn es keine Limits gibt oder wenn es beide Limits hat, aber ich konnte es nicht zum Laufen bringen, wenn es nur ein Limit gibt.Es bringt beides, wenn man die zweite Grenze auf "0" setzt.
//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]]
)
)
);Ich habe versucht, sie einzeln einzubauen. Wenn die LSL nicht "0" ist, aktualisiere die LSL, dann, wenn die USL nicht "0" ist, aktualisiere diese.Das Problem dabei ist, dass der erste überschrieben wird, wenn beide Grenzen haben.Mit anderen Worten, dieser Weg funktioniert für jeden Fall, außer wenn sowohl LSL als auch USL existieren, aber wenn beide existieren, fügt es das erste ein und dann, wenn es das zweite einfügt, ist das erste weg.Ich würde jede Hilfe zu diesem schätzen. Vielen Dank
DatentabelleSkripterstellungBetreff: Setzen Sie das Limit für Spalten, ohne andere Limits zu überschreibenDanke, das hat super funktioniert!Betreff: Setzen Sie das Limit für Spalten, ohne andere Limits zu überschreibenWie wäre es, wenn Sie die 0-Werte mit so etwas wie folgt auf fehlende Werte setzen:
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"));