導入規格限制所以我有一個在數據表上運行流程能力的腳本。 我可以使用這個解決方案自動運行它, https://community.jmp.com/t5/Discussions/JSL-automate-the-columns-used-in-Process-Capability/mp/39855 。 我現在也嘗試自動匯入規格表。 現在使用者自動擁有 2 張紙。 1 個包含數據,1 個包含規格資訊。 我可以製定一個解決方案,獲取規格表資訊並將其複製到列屬性,但我寧願讓它在程式碼中運行,以防用戶想要將數據表與另一個規格文件一起使用。
到目前為止我的程式碼...
yyy = Eval( 解析("summ_table << 流程能力(
過程變數(" || TheVars || "), <
規格限制(導入規格限制(\!"" || 規格||"\!")) <<不起作用
);”
)
);
spec 儲存開啟的規格表名稱。我可以很容易地得到這兩種格式。
“規格表1.jmp”
“資料表(“specTable1.jmp”)”
我從這個博客得到了規格限制代碼—— https://community.jmp.com/t5/JMPer-Cable/3-ways-to-load-your-specation-limits-into-Process-Capability/ba-p/34189
回覆:導入規格限制將限制從限製表寫入資料表加載項是一種選擇
回覆:導入規格限制謝謝你,jthi。按照你修改後的腳本就可以正常運作了~
是否有任何腳本可以加載限製文件並直接將所有限制保存到列屬性?
回覆:導入規格限制這是相當舊的腳本(和帖子),根據您最終嘗試執行的操作定義如何修改它(或者也許您應該完全使用其他腳本或可能提供的加載項)。
使用該插件,您必須將變數列建模類型從非結構化文字變更為名目型


下面是一個相當快速的修改,如果您的腳本有 JMP16+,它應該可以工作(對第 24 行和第 26 行進行的修改):
Names Default To Here( 1 );
// Select the data table and open it
path = Pick File( "Select Data Table" );
dt = Open( path );
// Select the limits table and open it
path = Pick File( "Select Limits Table" );
dt2 = Open( path );
// Point to the data table as the main table
Current Data Table( dt );
// Open a new window to select the process variables
nw = New Window( "Select Process Variables",
Text Box( "Selection Columns" ),
H List Box(
datacolbox = Col List Box( all ),
Button Box( "Process Variables", pList << append( datacolbox << get selected ) ),
pList = List Box( {} )
),
Button Box( "OK",
thelist = plist << get items;
pvars = ":\!"" || thelist[1] ||"\!"n";
For( i = 2, i <= N Items( thelist ), i++,
pvars = pvars || ", :\!"" || thelist[i] ||"\!"n";
);
Eval(
Parse(
"obj = dt << Process Capability(
Process Variables(" || pvars || " ),
Spec Limits( Import Spec Limits( dt2 ) )
);"
)
);
nw << close window;
)
);回覆:導入規格限制嗨特克斯尼爾森,
我嘗試使用您的腳本來運行導入我的限製文件,但出現錯誤。 (附上我的極限規格文件)
它看起來很長的變數名稱或字元“/”問題,你能幫忙嗎? 謝謝。

問候,奇利
回覆:導入規格限制因此,這實際上是從腳本索引中複製並貼上的。 恕我直言,這是從一個表加載規格並將其保存到另一個表的列屬性中的最簡單方法。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Capability(Y( :OZONE, :CO, :SO2, :NO ), Spec Limits(Import Spec Limits("$SAMPLE_DATA/CitySpecLimits.jmp")));
obj << Save Spec Limits as Column Properties;<STRIKE></STRIKE><BR />
……儘管如此,我不得不說 Jim Nelson 的插件非常靈活,並且具有一些非常方便的通用功能。
回覆:導入規格限制無論您是否可以開啟範例資料表,我所包含的程式碼都可以剪下並貼上到您的 JMP 會話中,並且知道它有效。 因此,如果您使用自己的資料表和限製表,且程式碼不適合您,那麼您需要查看您的資料是否有問題。
回覆:導入規格限制我認為是我的電腦有問題。 您的腳本看起來應該可以在您的電腦上運行。我下載了您的範例表,但在我的機器上它給出了錯誤/警報。 看起來您的解決方案有效,但正在發生其他事情。 我想我需要先修復 I/O,然後才能實施您的解決方案。

回覆:導入規格限制JSL 幾乎能夠執行您需要完成的任何操作,因此回答您的問題,是的,您可以選擇資料表,然後選擇限製表,然後執行流程功能。 這是一個非常簡單的腳本,可以實現這一點。 我已經用隨附的數據和限製表對其進行了測試。 該代碼絕對不是無懈可擊的。 但它應該告訴您如何繼續。
Names Default To Here( 1 );
// Select the data table and open it
path = Pick File( "Select Data Table" );
dt = Open( path );
// Select the limits table and open it
path = Pick File( "Select Limits Table" );
dt2 = Open( path );
// Point to the data table as the main table
Current Data Table( dt );
// Open a new window to select the process variables
nw = New Window( "Select Process Variables",
Text Box( "Selection Columns" ),
H List Box(
datacolbox = Col List Box( all ),
Button Box( "Process Variables", pList << append( datacolbox << get selected ) ),
pList = List Box( {} )
),
Button Box( "OK",
thelist = plist << get items;
pvars = ":" || thelist[1];
For( i = 2, i <= N Items( thelist ), i++,
pvars = pvars || ",:" || thelist[i]
);
Eval(
Parse(
"obj = dt << Process Capability(
Process Variables(" || pvars || " ),
Spec Limits( Import Spec Limits( dt2 ) )
);"
)
);
nw << close window;
)
);回覆:導入規格限制我查看了該插件的程式碼,對我來說,它似乎做了我已經做過的事情。基本上,它編輯表中的列以具有限制特徵。
我想知道是否可以使用 JSL 來詢問使用者一張包含資料的工作表和一張包含限制/規格的工作表。 使用者輸入這 2 個內容後,腳本將自動執行,並使用資料在工作表上執行能力分析。所以基本上可以使用 JSL 在能力分析中運行規格表。 我想知道這條線是否可能像原始帖子中鏈接的第二篇帖子中所述。
Spec Limits(Import Spec Limits(\!" specLimits.jmp\!"))
它似乎不起作用。 我應該嘗試像這樣格式化它嗎?並有一個包含所有限制/規格資訊的長字串?
Spec Limits(
c1( LSL( -1.4 ), Target( . ), USL( . ) ),
c2 2( LSL( -1.4 ), Target( . ), USL( . ) ),
Name( "c3" )(LSL( 12 ), Target( . ), USL( 144 )),
c4( LSL( . ), Target( . ), USL( -18 ) )
),
回覆:導入規格限制有一個 JMP 插件,可以從包含規格限的附加資料表中填入規格限。
將限制從限製表寫入資料表
如果它不能完全滿足您的要求,您可以隨時取出 JSL 並對其進行修改以滿足您的需求