プロセススクリーニングを使用すると、安定性/不安定性および適合/非適合の2×2マトリックスを示すプロセスパフォーマンスグラフがすぐに得られ、改善のための注意をどこに集中させるべきかを判断できます。これは本当に便利です。
例が添付されています。
添付の12個の特性はデータ数が異なるため、デフォルトで作成された管理図は常に表の行数の長さに達するx軸を持ちます。
添付 特性7には583のデータがありますが、特性9には79のデータしかありません。
特性9の管理図の作成には、デフォルトで583データを収束させるx軸があります。このプレゼンテーションは、私が最初に行うことはx軸の変更であるため理想的ではありませんが、多数のチャートでは変更するのに時間がかかります。
各列の各特性の背後にあるデータの数を実際に反映するようにX軸を自動的に設定するためのスクリプト作成方法、またはその他のオプションの使用方法をアドバイスすることはできますか?データへの洞察を深めるために作成された写真ができるだけ早くできるだけ有益であるようにこれを行う方法を知っているのは素晴らしいでしょう。
先ほどチェックしましたが、問題はControl Chart Builderにも当てはまります。つまり、各X軸が実際のデータを持つ行の数に合わせて調整されるように列に対して実行する操作です。
こんにちは、
誰かが便利だと思ったらこれを投稿すると思いました。 これを実現するためのもう1つの方法は、プロセスをスタックし、不足している値をスタックテーブルから削除して新しいデータテーブルを作成することです。 その後、プロセススクリーニングのグループ化列を使用して、テーブルを別々のプロセスに分割することができます。 (積載表では列のプロパティが表示されなくなるため、機能計算を行う場合は、この方法を使用するためのスペック制限表も作成する必要があります。次の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
);