txnelson ,
不久前發布此加載項.. 這是非常有用的,但我想知道如何將其融入腳本而無需進行所有選擇。這是除非在某個地方有更好的版本.. 該帖子是在5年前回來的,所以我不確定是否有更新的東西。
戴夫
我道歉,因為我的帖子有點不成熟...... 我能夠弄清楚如何從我的腳本中進入.jsl(Write Limits ...)... 我現在需要從.jsl步入Tabulate Yield .jsl ..
Include()函數的運行方式就像您已將代碼直接輸入腳本一樣。 所以,如果你有一個腳本
x = 22;
並將其保存在一個名為的文件中
C:\ myfile.jsl
然後有一個腳本
Names Default to Here( 1 );
x = 44;
include( "c:\myfile.jsl" );
print( x );
打印出來的價值是22。 代碼將被解釋為就像你有一個腳本一樣
Names Default to Here( 1 );
x = 44;
x = 22;
print( x );
現在關於你已經整合到腳本中的代碼......它創建了具有“0”和“1”的新列。 沒有“通過”或“失敗”的值。 也就是說,顯示“通過”和“失敗”,但這是因為列屬性,已設置“值標籤”。 “值標籤”不會更改列中的實際值,只會更改顯示的值。
我建議您花一些時間閱讀以下內容:
幫助==>書籍==>使用JMP
和
幫助==>圖書==>腳本指南
先生。 txnelson ,
我打開了加載項,並能夠提取腳本以便將其合併到我的腳本中。但是,我遇到運行它的問題。我嘗試了Include()然後引用main;部分在我的腳本中然後做了一個Open(“xxxxxx”,Run JSL(1));甚至是開放式(“xxxxx”,主要);
這些方法都沒有奏效。你能否就如何讓它執行給我一些建議。
謝謝你提前.. 在此問題得到解決後,我還有幾個問題要問你。
dt_tablelimits_tx = Open( "limitstable.jmp", invisible);
current data table ( ::dt_testdata_tx );
// Trying to open and run the "Write Limits to Table" script
// The script you wrote to assign value labels based on the "Write Limits to Table"
dt = current data table();
// Get all numeric columns
colList = dt << get column names( numeric, string );
foundCols = "";
// Loop across the columns and generate the test pass/fails
For( i = 1, i <= N Items( colList ), i++,
spec = Column( dt, colList[i] ) << get property( "Spec Limits" );
dt << clear select;
If( Is Empty( spec ) == 0,
dt << New Column( (Column( dt, colList[i] ) << get name) || " Pass_Fail" );
If( Is Missing( Try( spec["LSL"], . ) ) == 0,
dt << select where( As Column( dt, colList[i] ) < spec["LSL"] );
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 0 );
);
If( Is Missing( Try( spec["USL"], . ) ) == 0,
dt << select where( As Column( dt, colList[i] ) > spec["USL"], current selection( "extend" ) );
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 0 );
);
dt << invert row selection;
Try( Column( dt, N Cols( dt ) )[dt << get selected rows] = 1 );
Column( dt, N Cols( dt ) ) << set property( "Value Labels", { 0 = "Fail", 1 = "Pass" } );
If( foundCols == "",
foundCols = ":Name(\!"" || (Column( dt, colList[i] ) << get name) || " Pass/Fail\!")",
foundCols = foundCols || ", " || ":Name(\!"" || (Column( dt, colList[i] ) << get name) || " Pass/Fail\!")"
);
);
);
dt << clear select;
// The script you wrote called Tabulate Yield has ... Pass_Fail == "Pass" however I can only get it to populate using .. Pass_Fail == 1
dt << New Column( "TxCH0 Numberic Pass", formula( value_ss_TxCH0 Pass_Fail == 1 ) );
dt << New Column( "TxCH1 Numberic Pass", formula( value_ss_TxCH1 Pass_Fail == 1 ) );
dt << New Column( "TxCH2 Numberic Pass", formula( value_ss_TxCH2 Pass_Fail == 1 ) );
dt << New Column( "TxCH3 Numberic Pass", formula( value_ss_TxCH3 Pass_Fail == 1 ) );
dt << New Column( "TxCH4 Numberic Pass", formula( value_ss_TxCH4 Pass_Fail == 1 ) );
dt << New Column( "TxCH5 Numberic Pass", formula( value_ss_TxCH5 Pass_Fail == 1 ) );
dt << New Column( "TxCH6 Numberic Pass", formula( value_ss_TxCH6 Pass_Fail == 1 ) );
dt << New Column( "TxCH7 Numberic Pass", formula( value_ss_TxCH7 Pass_Fail == 1 ) );
dt << New Column( "TxCH8 Numberic Pass", formula( value_ss_TxCH8 Pass_Fail == 1 ) );
dt << New Column( "TxCH9 Numberic Pass", formula( value_ss_TxCH9 Pass_Fail == 1 ) );
dt << New Column( "TxCH10 Numberic Pass", formula( value_ss_TxCH10 Pass_Fail == 1 ) );
dt << New Column( "TxCH11 Numberic Pass", formula( value_ss_TxCH11 Pass_Fail == 1 ) );
dt << New Column( "TxCH12 Numberic Pass", formula( value_ss_TxCH12 Pass_Fail == 1 ) );
dt << New Column( "TxCH13 Numberic Pass", formula( value_ss_TxCH13 Pass_Fail == 1 ) );
dt << New Column( "TxCH14 Numberic Pass", formula( value_ss_TxCH14 Pass_Fail == 1 ) );
dt << New Column( "TxCH15 Numberic Pass", formula( value_ss_TxCH15 Pass_Fail == 1 ) );
new column ( "TxTally" ) << formula( sum(
:TxCH0 Numberic Pass, :TxCH1 Numberic Pass, :TxCH2 Numberic Pass,
:TxCH3 Numberic Pass, :TxCH4 Numberic Pass, :TxCH5 Numberic Pass,
:TxCH6 Numberic Pass, :TxCH7 Numberic Pass, :TxCH8 Numberic Pass,
:TxCH9 Numberic Pass, :TxCH10 Numberic Pass, :TxCH11 Numberic Pass,
:TxCH12 Numberic Pass, :TxCH13 Numberic Pass, :TxCH14 Numberic Pass,
:TxCH15 Numberic Pass
)
);
dt << select where( :TxTally != 16 ) << delete rows;
show( LotListSQLString );
PO被放置,批准,現在我們正在等待推出.. 我在第一輪發行的名單上,但它永遠需要......
我希望儀表板太糟糕了..
謝謝(你的)信息.. 我將不得不開始在JMP 14上觀看YouTube視頻
安裝版本14後,您可能需要查看Analyze - > Quality and Process菜單下的Manage Spec Limits平台。
我正在等待我們的IT部門為JMP 14制定許可證。半導體工具套件不適用於12,或者至少是我下載的那個。
我要去文件交換機看看代碼..
我還使用了一些其他腳本[Tabulate Yield Script.jsl]和你在回復中發布的腳本。讓我查看該文件,我會盡快回复你。
謝謝
限製表中對數據表的寫入限制已更新。 此外,它已被添加到半導體工具包中
如果從文件交換中下載並安裝最新版本,則可以看到使用的JSL。