Hi,
Ich habe versucht, ein JSL-Skript zum Einlesen von Spezifikationsgrenzen aus einer Tabelle in Spalten in einer anderen Datentabelle zu schreiben, basierend auf Diskussionen in dieser Community. Unten eingefügt ist das Skript, und die entsprechenden Daten- und Spezifikationsgrenztabellen sind angehängt.
Ich bin mir nicht sicher, was ich falsch mache, aber wenn ich die Spalteneigenschaften der Datentabelle nach dem Ausführen des Skripts überprüfe, sind die Felder für die Spezifikationsgrenzen immer noch leer. Kann mir bitte jemand sagen, was ich falsch mache? Danke im Voraus.
Names Default To Here( 1 );
dt = Open("test1.jmp");
dt1 = Open("test1_spec.csv");
dt << current data table ();
x = dt << Get Column Names(string);
y = dt1 << Get Column Names(string);
ncols = N Items (x);
for (i=1, i<=ncols, i++,
v = Column(i) << Get Name;
z = (Loc(y,v)) [1];
dt1 << current data table();
uLimit = Column(z)[1];
lLimit = Column(z)[2];
tLimit = Column(z)[3];
dt << current data table ();
Eval(
Eval Expr(
Column(dt,char(x[i])) << Set Property(
"Spec Limits",
{LSL( Expr( lLimit ) ), USL( Expr( uLimit ) ), Target( Expr( tLimit ) ),
Show Limits( 1 )}
)
)
)
);test_spec (Tabelle der Spezifikationsgrenzen):
| Beschreibung | a | c | d |
| USL | 11 | 25 | 42 |
| LSL | 0 | 1 | 2.5 |
| TT | 5 | 11 | 23 |
test1 (Datentabelle):
| a | b | c | d |
| 1 | 3 | 2 | 4 |
| 2 | 6 | 4 | 8 |
| 3 | 9 | 6 | 12 |
| 4 | 12 | 8 | 16 |
| 5 | fünfzehn | 10 | 20 |
| 6 | 18 | 12 | 24 |
| 7 | 21 | 14 | 28 |
| 8 | 24 | 16 | 32 |
| 9 | 27 | 18 | 36 |
| 10 | 30 | 20 | 40 |
Schauen Sie sich das File Exchange Addin namens an
Schreiben Grenzen zu einer Datentabelle von a Grenzen Tisch . Das angenommene Format der Eingabegrenzen-Datentabelle unterscheidet sich von Ihrer angegebenen Struktur, Sie können jedoch problemlos entweder Ihre Struktur ändern oder die JSL aus dem Add-in ändern