프로세스 스크리닝에서 컨트롤 차트 X 축을 수정하는 방법프로세스 스크리닝을 사용하여 프로세스 성능 그래프를 신속하게 얻음으로써 안정적인 / 불안정한 / 준수하지 않는 2x2 매트릭스를 제공하여 개선 노력에 대한 관심을 집중시킬 수있는 게이지를 제시합니다. 이것은 정말 유용합니다.
예제가 첨부되어 있습니다.
첨부 된 12 개의 특성에는 다른 데이터 수가 있기 때문에 기본 생성 된 컨트롤 차트에는 항상 테이블의 행 수만큼 실행되는 x 축이 있습니다.
첨부 예 : Characteristic Seven은 583 개의 데이터를 가지고 있지만 Characteristic Nine은 79 개의 데이터만을 가지고 있습니다.
Characteristic Nine의 컨트롤 차트를 만들면 기본적으로 583 데이터를 x 축에서 변환합니다. 이 프레젠테이션은 x 축을 변경하는 것부터 시작하기 때문에 이상적이지 않습니다. 그러나 수많은 차트에서 시간이 많이 걸립니다.
아무도 스크립팅 또는 다른 옵션을 사용하여 각 열의 각 특성 뒤에 실제로있는 데이터의 수를 반영하도록 x 축을 자동으로 구성하도록 조언 할 수 있습니까? 이를 수행하는 방법을 알면 데이터에 대한 더 많은 통찰력을 얻기 위해 만들어진 그림이 가능한 한 유익한 정보가되도록하십시오.
방금 확인한 질문은 컨트롤 차트 작성기에도 적용됩니다. 즉, 각 x 축을 실제 데이터가있는 행 수로 조정할 수 있도록 열에서 수행 할 연산입니다.
제목 : Re : Process Screening에서 컨트롤 차트 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 ) );
제목 : Re : Process Screening에서 컨트롤 차트 X 축을 수정하는 방법고맙습니다!
제목 : Re : Process Screening에서 컨트롤 차트 X 축을 수정하는 방법이 문제를 해결할 수있는 열 속성을 인식하지 못하고 있지만 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
);