設定 K sigma 巨集的規格限制我經常使用“Distribution”平台和“Set Spec Limits for KSigma”來獲取非常態資料的建議規格限制。工作流程是分佈 -> 分配分佈 -> 分佈輸出中的製程能力 -> 設定 K Sigma 的規格限制。當您有很多列時,這可能會成為一個漫長的過程。
理想情況下,我能夠分配正確的分佈,然後有一個巨集可以循環遍歷每一列並產生“設定限制...”輸出。我看到有一個用於此功能的範例腳本,但它具有硬編碼的分佈,並且似乎僅將其應用於所有列。
看來我的第一個障礙(這似乎很愚蠢)是嘗試從分發平台中獲取指定的分發,以便我可以替換它的硬編碼(本例中為 LogNormal):
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution( Column( :CO ) );
obj << Fit Distribution( LogNormal( Set Spec Limits for KSigma( 3 ) ) );
我正在考慮使用諸如 current report()["Distributions"]<< get scriptable object; 之類的東西
為了能夠使用開放分佈分析的程式碼,然後我必須弄清楚如何循環開放分佈中的欄位。
我正在考慮的另一個選擇是將分佈分配為列屬性,然後從中提取並運行一堆單獨的分析,但我也沒有看到走這條路的程式碼。
感謝您的任何想法!
史蒂夫
品質和工藝工程回覆:設定 K sigma 巨集的規格限制事實證明,問題的一部分是我自己造成的。我沒有意識到 Handle[1] 是列表順序中的第一個分佈(常態分佈、柯西分佈、對數常態分佈等),而不是 AIC 有序表中的第一個分佈。因此,巨集將運行,但我看不到任何東西,因為它已應用於正態分佈並且被隱藏。 如果我將 Handle[1] 更改為 Handle["best"] 那麼它可以與最佳選擇的發行版一起使用。
最終代碼就是這樣(儘管我學到了很多!)再次感謝托尼亞的所有幫助!
Names Default To Here( 1 );
dt=Current Data Table();
pf=current report()["Distributions"]<< get scriptable object;
pf<<(Fit Handle["best"]<<PROCESS capability=""></PROCESS>
回覆:設定 K sigma 巨集的規格限制您正在將新裝配工與傳統裝配工混合在一起。對於新裝配工來說,代碼需要完全不同。以下是新裝配工的一些範例程式碼。
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = dt<<DISTRIBUTION></DISTRIBUTION>
回覆:設定 K sigma 巨集的規格限制感謝您再看一下托妮亞。
我同意您提供的程式碼可以工作,但它看起來可以工作,因為您首先透過巨集分配分佈。如果我刪除發行版並手動重新新增它們,然後嘗試執行巨集的最後兩行,它將無法運作。
我發現有趣的是,擬合分佈的名稱為“擬合指數”與“擬合指數分佈”,當我手動分配它時會顯示出來。所以這讓我思考......如果我使用傳統的配合,我可以讓它發揮作用!因此,如果我啟用舊版擬合器,手動擬合分佈,然後運行最後兩行,它可以完美運行。
那麼也許需要對腳本進行修改才能使用 15 中出現的新擬合功能?
史蒂夫
回覆:設定 K sigma 巨集的規格限制如果我有超過 1 列的分佈,該程式碼對我來說效果很好。
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution(
Continuous Distribution(
Column( :CO ),
Fit Distribution(
Exponential
)
),
Continuous Distribution( Column( :POP ), Fit Distribution( Gamma) )
);
ex=current report()["Distributions"]<< get scriptable object;
ex<<(Fit Handle[1]<<( Set Spec Limits for KSigma( 3 ) ) );
回覆:設定 K sigma 巨集的規格限制如果我包含我的腳本可能會有所幫助:
Names Default To Here( 1 );
dt=Current Data Table();
ex=current report()["Distributions"]<< get scriptable object;
ex<<(Fit Handle[1]<<( Set Spec Limits for KSigma( 3 ) ) );
理想情況下,我將運行分發平台,為每列選擇我的分發,然後執行此腳本來設定所有規格限制。
所以這有效,但前提是我在分佈分析中有一欄。
史蒂夫
回覆:設定 K sigma 巨集的規格限制它對我來說適用於多個列。
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution( Column( :CO, :POP ) );
obj << Fit Distribution( exponential ) ;
obj<<(Fit Handle[1]<<( Set Spec Limits for KSigma( 3 ) ) );
回覆:設定 K sigma 巨集的規格限制謝謝托尼婭!
這真的很好用。但是,只有當我在分佈分析中有一列時,它似乎才會起作用。當我的分析中有多個列時,是否需要更改某些內容才能使其正常工作?如果我有多個,它就不起作用;沒有錯誤,但也沒有任何反應。
範例庫中的腳本將使用多個列運行(儘管它是硬編碼的分發選擇)。
史蒂夫
回覆:設定 K sigma 巨集的規格限制如果每個回應只有一個擬合,您可以使用以下內容:
obj<<(Fit Handle[1]<<( 設定 KSigma( 3 ) ) 的規格限制 );
回覆:設定 K sigma 巨集的規格限制“顯示樹結構”可以幫助您在報表中找到正確的位置。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = Distribution( Column( :CO ) );
obj << Fit Distribution( LogNormal( Set Spec Limits for KSigma( 3 ) ) );
obj << show tree structure;