こんにちは、
列の仕様制限の設定を自動化しようとしています。このプロセスはハードコードされた値を使用すると簡単に実行できるようですが、仕様制限を変数として入力すると機能しません。そのため、次のようにすると機能します。
Column(4) << Set Property("Spec Limits", {LSL(0), USL(1), Show Limits(1)});

しかし、これは当てはまりません:
lowerLimit = 0;
upperLimit = 1;
Column(4) << Set Property("Spec Limits", {LSL(lowerLimit), USL(upperLimit), Show Limits(1)});
これを回避する方法を誰か知っていますか? ありがとうございます。
最高、
カオティラマ
JMPのリストは何でも構いません。リストにupperLimitなどを指定すると、JMPはリストにまさにそれが含まれているものとみなします。リストを作成する前に、JMPにリスト内の内容を処理するように指示するには、次の操作を行います。
Names Default To Here( 1 );
lowerLimit = 0;
upperLimit = 1;
Eval(
Eval Expr(
Column( 4 ) << Set Property(
"Spec Limits",
{LSL( Expr( lowerLimit ) ), USL( Expr( upperLimit ) ), Show Limits( 1 )}
)
)
);@txnelsonからの回答は完璧です。ただし、仕様制限内で作業する場合、スクリプト プラットフォームはよりシンプルで汎用性の高いソリューションを提供します。
スクリプト インデックスのこの例 (「load limits」または「save to column prop」を検索) では、最初に制限テーブルが作成されます。このテーブル (またはマトリックス) はすでに作成されている可能性があります。
ターゲット データ テーブルを開いた後、制限の管理プラットフォームを使用して定義された制限テーブルから制限をロードし、その制限をターゲット データ テーブルに保存します。
;</CODE> <BR /><CODE class=" language-jsl">Names Default To Here( 1 );<BR />//First construct a table of limits for the example
dtLimits = New Table( "Cities Limits",Add Rows( 4 ),
New Column( "Process",Character,Set Values( {"OZONE", "CO", "SO2", "NO"} )),
New Column( "LSL", Numeric, Set Values( [0, 0, 0, 0] ) ),
New Column( "Target",Numeric,Set Values( [0.2, 15, 0.05, 0.035] )),
New Column( "USL",Numeric,Set Values( [0.4, 30, 0.1, 0.07] )),
Set Label Columns( :Process ));<BR /><BR />//Open the target data table to act on
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
<BR />//Script the Mangae Limits Platform<BR />obj = dt << Manage Limits(Process Variables( :OZONE, :CO, :SO2, :NO ));
obj << Load From Limits Table( dtLimits ); <BR />obj << Save to Column Properties;<BR />obj << Close Window