你好,
如何根據初始表屬性為具有規格限制(作為屬性)的多個列按堆棧執行新表,並創建兩個新列,每個標籤的規格低和規格高?
見附件
如果可能,還包括通過/未通過列
提前致謝!
阿薩夫
了解這一點的最佳方法是閱讀腳本指南。看:
幫助==>書籍==>腳本指南........構造一個列對話框
多謝!!
在您的支持下,我執行了以下腳本:
@txnelson寫道:
這是一個簡單的腳本,將說明執行此操作的一種方法
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 = 當前數據表();
dtStacked = dtOrig << 堆棧(
列( 26 :: 42 ),
源標籤列(“參數”),
堆疊數據列(“值”),
輸出表(“堆疊”)
);
// 創建新列
dtStacked << 新列(“規格下限”);
dtStacked << 新列(“規格上限”);
// 移動規格限制
colList = dtOrig << 獲取列名(字符串);
For( i = 1, i <= N Items( colList ), i++,
specs = Column( dtOrig, colList[i] ) << get property( "spec limits" );
foundRows = dtStacked << 獲取行 where( dtStacked:Parameter == colList[i] );
dtStacked:規格下限[foundRows] = 規格[“LSL”];
dtStacked:規格上限 [foundRows] = specs["USL"];
);
New Column("P/F", Numeric, "Continuous", Formula((:Lower Spec Limit <= :Value <= :Upper Spec Limit) == 0));
這是一個簡單的腳本,將說明執行此操作的一種方法
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"];
);