Hallo,
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 ist das Skript eingefügt, und die entsprechenden Daten- und Spezifikationsgrenzwerttabellen sind beigefügt.
Ich bin mir nicht sicher, was ich falsch mache, aber wenn ich nach dem Ausführen des Skripts die Spalteneigenschaften der Datentabelle überprüfe, sind die Felder „Spezifikationsgrenzen“ immer noch leer. Kann mir bitte jemand sagen, was ich falsch mache? Dank 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 | 15 | 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 Add-in 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 über das Add-In modifizieren