저는 프로세스 스크리닝 분석을 자동화하기 위해 노력해 왔습니다.
사용자에게 yyyy-mm 형식으로 날짜를 입력하라는 텍스트 상자 팝업이 있습니다. 그런 다음 날짜를 변수로 저장하는 버튼이 있습니다. 다음으로 프로세스 스크리닝 분석을 실행하는 버튼이 있습니다. 여기에 사용자 입력을 사용하여 해당 데이터 세트에 대해서만 분석을 수행하는 로컬 데이터 필터를 넣었습니다. 잘 작동합니다.
하지만, 저는 또한 Process Screening 모듈의 마지막 인수로 넣은 Control Chart for Selected Items 옵션을 활용하고 싶습니다. 두 번째에서 마지막 인수는 Select All입니다. 제가 얻은 결과는 올바른 그룹화는 있지만 올바른 필터링은 없는 Control Charts를 보여줍니다(데이터 테이블의 모든 데이터가 차트를 만드는 데 사용됩니다).
두 가지 질문이 있습니다. 로컬 데이터 필터로 필터링된 데이터만 차트를 만드는 데 사용되도록 하려면 어떻게 해야 합니까?
(프로세스 스크리닝 모듈의 빨간색 삼각형을 사용하여 원하는 차트를 만든 다음 해당 스크립트를 가져오면 나중에 분석에 사용할 수 없는 많은 하드코딩된 값이 생성됩니다)
두 번째 질문은 추가 처리 또는 저장을 위해 관리 차트를 어떻게 불러올 수 있는가입니다. 다른 변수에 저장하거나 내보내는 방법을 알아낼 수 없었습니다. 이전에 프로세스 스크리닝 분석을 변수에 저장한 다음 << report;를 사용하여 powerpoint로 저장했지만 관리 차트 없이 프로세스 스크리닝만 표시됩니다.
도움이나 자료를 알려주시면 감사하겠습니다.
내 코드 중 일부를 잘라낸 것입니다.
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을 사용하고 어느 창이 당신의 창인지 확인할 수 있습니다. 두 개 이상이 생성되고 "Selected Charts"가 아직 존재하지 않으면 "Selected Charts"라는 이름이 지정됩니다.
안녕하세요 jthi,
네, 로컬 데이터 필터는 분석의 프로세스 역량 부분에서 확실히 올바르게 작동합니다. 데이터를 필터링하고 원하는 메트릭(모두)을 선택한 다음 빨간색 삼각형으로 이동하여 선택한 항목에 대한 관리도를 선택하면 필터링된 관리도가 나오는데, 이것이 제가 찾고 있는 것입니다. 위에 붙여넣은 코드를 계속 사용하면 필터링되지 않은(모든 데이터) 관리도가 출력됩니다.
이건 적어도 효과가 있는 것 같아요
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;네, 이게 효과가 있는 것 같습니다. 도와주셔서 감사합니다.