我一直致力於自動化流程篩選分析。
我有一個文字框彈出窗口,提示使用者輸入 yyyy-mm 格式的日期。然後我有一個按鈕將日期儲存為變數。接下來,我有一個運行過程篩選分析的按鈕。除此之外,我還使用使用者輸入放入本機資料過濾器,僅對該群組資料進行分析。這很好用。
但是,我還想利用「選定專案的控製圖」選項,我將其作為「流程篩選」模組的最後一個參數。倒數第二個參數是「全選」。我得到的結果顯示了具有正確分組但不正確過濾的控製圖(資料表中的所有資料都用於建立圖表)。
我有兩個問題。如何確保僅使用本地資料篩選器過濾的資料來建立圖表?
(如果我使用“過程篩選”模組中的紅色三角形來創建所需的圖表,然後獲取該腳本,我最終會得到許多硬編碼值,這些值可能不適用於以後的分析)
第二個問題是如何呼叫控制圖以進行進一步處理或保存?我無法弄清楚如何將它們保存到另一個變數或匯出它們。之前我將過程篩選分析儲存到變數中,然後使用 << report;並另存為投影片,但僅顯示過程篩選,而沒有控製圖。
任何幫助或資源將不勝感激。
這是我的程式碼片段
year = Char( Year( Today() ) );
month = Char( Month( Today() ) );
date = Concat Items( {year, month}, "-" );
w = New Window( "Date Filter",
Border Box( top( 30 ), bottom( 20 ), Left( 30 ), Right( 30 ),
V List Box(
H Center Box( Text Box( "Date Filter\!n\!nPlease enter date in yyyy-mm format" ) ),
Spacer Box( size( 1, 30 ) ),
H List Box( Text Box( "Date: " ), b1 = Text Edit Box( date ) ),
Spacer Box( size( 1, 15 ) ),
Spacer Box( size( 1, 15 ) ),
H Center Box(
Button Box( "Save Filter Date",
b2 = b1 << Get Text();
)
),
H Center Box(
Button Box( "Get Process Capability",
Current Data Table( dt2 );
dt4 = Process Screening(
Process Variables(
:"Metric1", :"Metric2",:"Metric3"),
Grouping( :"MetricA" ),
Control Chart Type( "Indiv and MR" ),
Process Performance Graph( 1 ),
Show Tests( 0 ),
Target Index( 1 ),
Cp( 1 ),
Spec Limits( 1 ),
Use Limits Table(1,Data Table( dt3 ),Process Variables( :Process ),Grouping( :"MetricA" ),LSL( :LSL ),USL( :USL ),Target( :Target ),Go),
Local Data Filter(Add Filter( columns( :"ProcessDate" ), Where(:"ProcessDate" == b2 ))),
SendToReport( Dispatch( {}, "", TableBox, {Sort By Column( 2, 1 )} ) ),
Select All,
Control Charts for Selected Items,
);
)
)
)
)
);
您的過濾器在過程篩選中是否正常運作?我使用 jmps 樣本資料做了簡單的測試。
過濾到僅lot01

當我為選定的物件建立控製圖時,我可以看到它已被過濾

控製圖將在新視窗中開啟。要捕獲該訊息,您可以使用 << get window list + << get window title 並檢查哪個是您的視窗。如果建立了多個圖表且“選定圖表”尚不存在,則其名稱為“選定圖表”
你好,
是的,本地資料過濾器對於分析的過程能力部分肯定工作正常。如果我過濾了數據並選擇了我想要的指標(僅此而已),然後轉到紅色三角形並選擇所選項目的控製圖,那麼我會得到我正在尋找的過濾後的控製圖。如果我繼續使用上面貼上的程式碼,則會輸出未過濾的(所有資料)控製圖。
這似乎至少有效
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
ps = dt << Process Screening(
Process Variables(
:NPN1, :PNP1, :PNP2, :NPN2, :PNP3, :IVP1, :PNP4, :NPN3, :IVP2, :NPN4, :SIT1,
:INM1
),
Control Chart Type("Indiv and MR"),
RowStates([0 1, 10 1, 11 1]),
Local Data Filter(
Add Filter(
columns(:lot_id),
Where(:lot_id == {"lot01", "lot02", "lot03", "lot04"}),
Display(:lot_id, N Items(13))
)
)
);
ps << Select All;
ps << Control Charts for Selected Items;