他の列のラベルに基づいて、列に表示される仕様制限値をその列自体のプロパティに適用するスクリプトを作成するにはどうすればよいですか?添付のデータテーブルと同様の受信データがあります。
したいのですが(一例として)
- 同様に、T5 (TestStage の下) の行 USL/LSL (Label の下) に対して列 Breakdown_5 に表示される (最初/一番上) 行の値を、Breakdown_5 列プロパティの制限として保存します。
- S7 (TestStage の下) の USL/LSL (Label の下) 行に対して列 Resistance_7 に表示される (最初/一番上) 行の値を Resistance_7 列プロパティの制限として保存します。
- S7 (TestStage の下) の USL/LSL (Label の下) 行に対して Current_7 列に表示される (最初/一番上) 行の値を Current_7 列プロパティの制限として保存します。
- W11 (TestStage の下) の行 USL/LSL (Label の下) に対して列 Current_11 に表示される (最初/一番上) 行の値を Current_11 列プロパティの制限として保存します。
- U6 (TestStage の下) の USL/LSL (Label の下) 行に対して、Capacitance_6 列に表示される (最初/一番上) 行の値を、Capacitance_6 列プロパティの制限として保存します。
一般に、測定データの列 (Breakdown_#、Resistance_#、Current_# など) の下 (最初/上部) に表示される LSL/USL 行 (ラベルの下) に対応する仕様制限を適用するには、JSL でスクリプトを作成するにはどうすればよいですか? on) 正しい TestStage# に対応します。# はテスト ステージ番号を指します。

自動化とスクリプト作成ウィンドウズRe: 他の列のラベルに基づいて、列に表示される仕様制限値をその列自体のプロパティに適用するスクリプトを作成するにはどうすればよいですか?これはサンプルデータで動作するスクリプトです
Names Default To Here( 1 );
dt = Data Table( "exampleDataSummary" );
// Find all numeric columns and place in a list
numColList = dt << get column names( numeric, string );
// Find the unique values of TestStage
Summarize( dt, tstStage = By( :TestStage ) );
// Loop across all test stages and match with response column
stageNumber = "";
For Each( {Stage}, tstStage,
stageNumber = Substr( Stage, 2 );
resCol = "";
For Each( {col}, numColList,
If( Word( -1, col, "_" ) == stageNumber,
resCol = col
);
// Get LSL and USL
If( resCol != "",
theLSL = Column( dt, resCol )[(dt << get rows where( :TestStage == Stage & :label == "LSL" ))[1]];
theUSL = Column( dt, resCol )[(dt << get rows where( :TestStage == Stage & :label == "USL" ))[1]];
Show( theLSL, theUSL );
Eval(
Substitute(
Expr(
Column( dt, resCol ) << set property( "Spec Limits", {LSL( _LSL_ ), USL( _USL_ )} )
),
Expr( _LSL_ ), theLSL,
Expr( _USL_ ), theUSL
)
);
);
);
);Re: 他の列のラベルに基づいて、列に表示される仕様制限値をその列自体のプロパティに適用するスクリプトを作成するにはどうすればよいですか?@txnelsonはい、ありがとう。 スクリプトはサンプル データ ファイルを使用して動作します。 質問が2つあります。
1. 測定したパラメータ (列) 名が Resistance_Null_Port_7、Capacitance_Full_Plate_6 などの形式であることに気づきました。 TestStage 番号が最後に来る前の列名に複数のアンダースコアがある場合にスクリプトを変更する方法。 Word () 関数の実装を変更する必要があると思いますが、私はそれに苦労しています (これまで使用したことがないので少し混乱しています)。
2. 制限が適用された後、各列に対してプログラムで「グラフ参照線として表示」を有効にするにはどうすればよいですか? 「スペック制限の管理」() を使用してこれを手動で行う方法を知っています。 私はJMP 16.2を使用しています。
Re: 他の列のラベルに基づいて、列に表示される仕様制限値をその列自体のプロパティに適用するスクリプトを作成するにはどうすればよいですか?私が提供したスクリプトで使用したさまざまな関数の詳細については、「スクリプト インデックス」にアクセスしてください。私が使用した Word() 関数は、名前に「_」がいくつ含まれているかを気にしません。私が使用している Word() 関数の最初の項は -1 で、文字列の末尾から開始して最初の単語を取得するよう関数に指示します。
値を基準線として自動的に表示するように JMP に指示するには、仕様制限仕様の「Show()」パラメータを使用します。
Column( dt, resCol ) << set property( "Spec Limits", {LSL( _LSL_ ), USL( _USL_ ), Show(1)} )
より効率的なスクリプト作成者になるために、時間をかけて私が提供したスクリプトを学習してください。
Re: 他の列のラベルに基づいて、列に表示される仕様制限値をその列自体のプロパティに適用するスクリプトを作成するにはどうすればよいですか?@txnelsonコードを勉強中です。Word () がどのように機能するかを説明していただきありがとうございます。
これまでのところ、スクリプトは実際のデータでは機能しません(実際の列名が異なるだけ、つまりアンダースコアが増えているだけです)。
問題は、実際のデータでエラーをスローすることなくスクリプトが実行され、ここに添付されているサンプル データ テーブルで同じスクリプトを実行した場合とは異なり、ログには何も表示されないことです。 したがって、デバッグのために把握できるものは何もありません。
私はすでに show (1) を試して、有効にする制限を表示しましたプログラムで「グラフ参照線として表示」します。 それここに掲載されているサンプルデータを使用しても、JMP 16.2 では機能しません。
スクリプトのデバッグを試みて、何か見つかったらまた連絡します。 ログに何もない場合にデバッグ用のポインタを取得すると便利です。
Re: 他の列のラベルに基づいて、列に表示される仕様制限値をその列自体のプロパティに適用するスクリプトを作成するにはどうすればよいですか?私の間違い、変更してください
表示(1)
に
制限を表示(1)
Re: 他の列のラベルに基づいて、列に表示される仕様制限値をその列自体のプロパティに適用するスクリプトを作成するにはどうすればよいですか?@txnelson変更が必要
Substr( )
スクリプトが実際のデータで機能するようにするためです。 しかし、 show (1) では、測定されたパラメーターの分布がプロットされる場合、依然として限界が表示されません。
以下も私の JMP16.2 では機能しません。つまり、showlimits が有効になりません列プロパティの「グラフ参照線として表示」。
dt=Open("$SAMPLE_DATA/Process Measurements.jmp");
Column(dt, "Process 2")<<SET property=""></SET>ただし、これで十分です。
Column( dt, resCol ) << set property( "Spec Limits", {LSL( _LSL_ ), USL( _USL_ ), Show Limits( 1 )})