從一個表格中的資料開始,另一個表格中的規格限制曾經是開始大規模能力分析的艱難方法。 雖然在某些行業領域中編寫 JSL 程式將規範從一個表格載入到包含資料的表格的列屬性中可能是一種通行權,但還有一些更好的選擇。 時間JMP 12 中的能力分析平台使處理資料和單獨的規格表成為快速輕鬆的任務。 在本文中,我將討論如何利用 JMP 功能平台來解決將資料從規格表新增至資料表的列屬性的問題。 手動逐步完成流程只需點擊幾下(過程能力平台範例),但最終目標是編寫平台腳本以自動執行分析並根據規格限制更新資料表的列屬性。 事實證明,使用相當緊湊的腳本就非常容易。
以下所附的腳本大部分取自腳本索引,其中包含 JMP 開發人員 Lancaster 博士提供的一些非常有用的提示。
此腳本首先從資料表中取得連續數值的資料列。
接下來建立一個空參數。 變數“y”指的是空的“process Variables()”參數。 然後該表達式將填入「dty」中儲存的列名稱。
表達式可在多個點使用,因為在引用引用表達式的變數之前不會計算表達式。
下一個表達式用於產生能力報告,現在填充的製程變數參數被插入到 obj 中,從而完成該功能。 「過程變數(名稱)」插入到哪裡? 這並不重要,因為「Process Capability()」中的所有內容都只是另一個參數。
Process Capability() 中有兩個重要參數要注意。 第一個是「規格限制(導入...」),它告訴平台哪個表包含規格限制。第二個,「規格限制對話框(「否(跳過…」)此參數會導致與讓平台跳過沒有規格的欄位而不是提示使用者提供規格相同的平台行為。 (或者,「不,不要提示,只需跳過缺少規格的列。」)
腳本的最後部分提供了對報告的引用,以根據整體西格瑪摘要報告製作數據表,並將規格保存到新數據表和原始數據表的列屬性中。
我希望您覺得這個解釋有用。 我還附上了我在最近的 JMP 日使用的幻燈片。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dty = dt << GetColumnNames( numeric, continuous );
y = Expr( process variables() ); //this constructs the "process variables" argument that is inside the process capability function.
n = N Items( dty );
For( i = 1, i <= n, i++,
Insert Into( y, dty[i] ) // the column names, not name strings, are inserted and comma delimited
);
obj = Expr( // this is an expression so that it won't be evaluated and we can do things to it later
Process Capability(
Spec Limits( Import Spec Limits( "$SAMPLE_DATA/CitySpecLimits.jmp" ) ),// file path and file name of the specs table
Spec Limits Dialog( "No (skip columns with no spec limits)" ),// Handy thing to know, Thank you Dr. Lancaster!!
Overall Sigma Summary Report( 1 )
)
);
Insert Into( obj, Name Expr( y ) ); // this is later and we insert "y" which is "process variables( column names )" show( name expr(y)) to see it
pr = obj << report; // pr becomes a handle for the report, and obj gets evaluated
dt2 = pr[Table Box( 2 )]<< Make Into Data Table;// this is where the the summary report is in the capability report
dt3=obj<<SAVE spec="" limits="" to="" new="" table=""></SAVE>
* 報告中使用的規格也包含在摘要報告中。