こんにちは、
このコミュニティでの議論に基づいて、テーブルから別のデータテーブルの列に仕様制限を読み取るための JSL スクリプトを作成しようとしました。 以下にスクリプトを貼り付けます。対応するデータと仕様制限の表が添付されています。
何が間違っているのかわかりませんが、スクリプトの実行後にデータ テーブルの列プロパティを確認すると、[仕様制限] フィールドが空白のままです。 誰かが私が間違っていることを教えてくれませんか? 前もって感謝します。
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 (仕様制限テーブル):
| 説明 | ある | c | d |
| USL | 11 | 25 | 42 |
| LSL | 0 | 1 | 2.5 |
| TT | 5 | 11 | 23 |
test1 (データテーブル):
| ある | 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 |