やあ、
仕様制限 (プロパティとして) を持ついくつかの列に対してスタックごとに新しいテーブルを実行し、初期テーブル プロパティに従って各ラベルに仕様が低く、仕様が高い 2 つの新しい列を作成するにはどうすればよいですか?
添付資料参照
できれば合否欄も
前もって感謝します!
アサフ
これについて学ぶ最善の方法は、スクリプト ガイドを参照することです。見る:
Help==>Books==>Scripting Guide.................Construct a Column Dialog
どうもありがとう!!
あなたのサポートを利用して、次のスクリプトを実行しました。
- ところで、ポップアップウィンドウを追加して赤い線を変更するにはどうすればよいですか?
@txnelson書きました:
これを行う 1 つの方法を説明する簡単なスクリプトを次に示します。
Names Default To Here( 1 );
dtOrig = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
// Modify the data to make it simpler for the example
dtOrig << delete columns( 10 :: 132 );
dtOrig << delete columns( 1 :: 4 );
dtOrig << select where( Row() > 50 );
dtOrig << delete rows;
// Stack the data
dtStacked = dtOrig << Stack(
columns( :NPN1, :PNP1, :PNP2, :NPN2, :PNP3 ),
Source Label Column( "Parameter" ),
Stacked Data Column( "Value" ),
Output Table( "Stacked" )
);
// Create the new columns
dtStacked << New Column( "Lower Spec Limit" );
dtStacked << New Column( "Upper Spec Limit" );
// Move the Spec Limits
colList = dtOrig << get column names( string );
For( i = 1, i <= N Items( colList ), i++,
specs = Column( dtOrig, colList[i] ) << get property( "spec limits" );
foundRows = dtStacked << get rows where( dtStacked:Parameter == colList[i] );
dtStacked:Lower Spec Limit[foundRows] = specs["LSL"];
dtStacked:Upper Spec Limit[foundRows] = specs["USL"];
);
// データを積み重ねる
dtOrig = currentdatatable();
dtStacked = dtOrig << スタック(
列 ( 26 :: 42 )、
Source Label Column( "パラメータ" ),
積み上げデータ列( "値" ),
出力テーブル( "積み上げ" )
);
// 新しい列を作成します
dtStacked << New Column( "Lower Spec Limit" );
dtStacked << New Column( "仕様上限" );
// 仕様制限を移動
colList = dtOrig << get column names( string );
For( i = 1, i <= N Items( colList ), i++,
specs = Column( dtOrig, colList[i] ) << get property( "仕様制限" );
foundRows = dtStacked << get rows where( dtStacked:Parameter == colList[i] );
dtStacked:Lower Spec Limit[foundRows] = specs["LSL"];
dtStacked:仕様上限[foundRows] =仕様["USL"];
);
New Column("P/F", Numeric, "Continuous", Formula((:Lower Spec Limit <= :Value <= :Upper Spec Limit) == 0));
これを行う 1 つの方法を説明する簡単なスクリプトを次に示します。
Names Default To Here( 1 );
dtOrig = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
// Modify the data to make it simpler for the example
dtOrig << delete columns( 10 :: 132 );
dtOrig << delete columns( 1 :: 4 );
dtOrig << select where( Row() > 50 );
dtOrig << delete rows;
// Stack the data
dtStacked = dtOrig << Stack(
columns( :NPN1, :PNP1, :PNP2, :NPN2, :PNP3 ),
Source Label Column( "Parameter" ),
Stacked Data Column( "Value" ),
Output Table( "Stacked" )
);
// Create the new columns
dtStacked << New Column( "Lower Spec Limit" );
dtStacked << New Column( "Upper Spec Limit" );
// Move the Spec Limits
colList = dtOrig << get column names( string );
For( i = 1, i <= N Items( colList ), i++,
specs = Column( dtOrig, colList[i] ) << get property( "spec limits" );
foundRows = dtStacked << get rows where( dtStacked:Parameter == colList[i] );
dtStacked:Lower Spec Limit[foundRows] = specs["LSL"];
dtStacked:Upper Spec Limit[foundRows] = specs["USL"];
);