使用過程篩選,我很快就得到了過程性能圖,給出了穩定/不穩定的2x2矩陣以及符合/不符合標準,以便將注意力集中在改進工作上。這非常有用。
附上一個例子。
由於附加的12個特徵具有不同數量的數據,我看到默認創建的控製圖總是具有x軸,其運行到表中行數的長度。
在附上例如 特徵七有583個數據,但特徵九隻有79個數據。
特徵九的控製圖的創建具有x軸,默認情況下會收斂583數據。這個演示文稿並不理想,因為我做的第一件事就是改變x軸,但是對於許多圖表來說這樣做是非常耗時的。
任何人都可以建議我如何使用腳本或其他選項來自動配置x軸以反映每列中每個特徵背後的數據實際數量?很高興知道如何做到這一點,因此為了更深入地了解數據而創建的圖片盡可能快地提供信息。
我剛檢查過,問題也適用於控製圖生成器,即對列執行哪個操作,以便每個x軸縮放到具有實際數據的行數。
你好,
我想我會發布這個以防有人發現它有用。 實現此目的的另一種可能方法是創建一個新的數據表,其中堆疊的進程和從堆棧表中刪除的缺失值。 然後,您可以使用“流程篩選”中的“分組”列將表拆分為單獨的流程。 (注意,如果要進行功能計算,還必須創建規範限製表才能使用此方法,因為列屬性將在堆棧表中消失。)以下JSL演示瞭如何執行此操作:
dt = Data Table("Process Screening Example");
dtStack = dt << Stack(
columns(
:Characteristic One,
:Characteristic Two,
:Characteristic Three,
:Characteristic Four,
:Characteristic Five,
:Characteristic Six,
:Characteristic Seven,
:Characteristic Eight,
:Characteristic Nine,
:Characteristic Ten,
:Characteristic Eleven,
:Characteristic Twelve
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "Stacked Process Screening Example" )
);
dtStack << select where (isMissing(:Data));
dtStack << delete rows;
obj = dt<< Manage Spec Limits(
Y(
:Characteristic One,
:Characteristic Two,
:Characteristic Three,
:Characteristic Four,
:Characteristic Five,
:Characteristic Six,
:Characteristic Seven,
:Characteristic Eight,
:Characteristic Nine,
:Characteristic Ten,
:Characteristic Eleven,
:Characteristic Twelve
)
);
dtLimits = obj << Save to Tall Spec Limits Table;
obj2 = dtStack << Process Screening(
Y( :Data ),
Grouping( :Label ),
Control Chart Type( "Indiv and MR" ),
Use Limits Table(
1,
dtLimits,
Grouping( :Variable ),
LSL( :LSL ),
USL( :USL ),
Target( :Target ),
Go
)
);
obj2 << select all;
obj2 << control charts for selected items;
如果您只想在不先啟動Process Screening的情況下使用Control Chart Builder執行相同操作,則可以使用以下JSL:
dt = Data Table("Process Screening Example");
dtStack = dt << Stack(
columns(
:Characteristic One,
:Characteristic Two,
:Characteristic Three,
:Characteristic Four,
:Characteristic Five,
:Characteristic Six,
:Characteristic Seven,
:Characteristic Eight,
:Characteristic Nine,
:Characteristic Ten,
:Characteristic Eleven,
:Characteristic Twelve
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "Stacked Process Screening Example" )
);
dtStack << select where (isMissing(:Data));
dtStack << delete rows;
obj = dtStack << Control Chart Builder( Variables( Y( :Data )), By( :Label ) );
我不知道可以修復此問題的列屬性,但可以使用JSL完成。
這是一個示例腳本,它循環遍歷每個控製圖並使x軸適應觀察的數量。
dt = Data Table("Process Screening Example");
dt << Process Screening(
Y(
:Characteristic One,
:Characteristic Two,
:Characteristic Three,
:Characteristic Four,
:Characteristic Five,
:Characteristic Six,
:Characteristic Seven,
:Characteristic Eight,
:Characteristic Nine,
:Characteristic Ten,
:Characteristic Eleven,
:Characteristic Twelve
),
Control Chart Type("Indiv and MR"),
Process Performance Graph(1),
Test 2(1),
Ppk Capability Boundary(1),
Stability Ratio Boundary(1.2),
Select All,
Control Charts for Selected Items,
SendToReport(Dispatch({"Process Performance Graph"}, "ProcessScreening Graph", FrameBox, {Frame Size(553, 424)}))
);
//get list of Control Chart top Outline Boxes
obs = Current Report() << topparent << xpath("//ListBox/OutlineBox");
// Set x-axis max after each N (retrieved from the "Porcess Summary" boxes)
For(i = 1, i <= N Items(obs), i++,
psum = obs[i][Outline Box("Process Summary")];
nloc = Loc((psum << xpath("//StringColBox"))[1] << get, "N")[1]; // locate row of "N"
n = (psum << xpath("//NumberColBox"))[1][nloc]; // get "N"
(obs[i] << xpath("//AxisBox"))[1] << Max(n + 0.5); // set max
);