특정 매개변수에 대한 데이터가 누락된 배치가 관리 차트에 표시되지 않도록 JSL을 사용하여 설정합니다.주제로.
일반적으로 JSL에서는 다음과 같이 관리 차트에 포인트를 표시하는 배치(주어진 열로 표시)를 나타냅니다.
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :Batch ),
Where(
:Batch == {"01/10/2022", "01/11/2022", "01/12/2022", "01/13/2022"}
),
Display( :Batch, N Items( 15 ), Find( Set Text( "" ) ) )
)
), 그러나 주어진 매개변수에 대해 N/A(데이터 테이블의 빈 필드)가 있는 배치를 제외하고 모든 배치를 고려하도록 어떻게 요청할 수 있습니까?
JMP 버전: 16.
자동화 및 스크립팅Re: 관리 차트에 특정 매개변수에 대한 데이터가 누락된 배치가 표시되지 않도록 JSL을 사용하여 설정합니다.한 가지 방법은 연관 배열을 사용하여 모든 고유 값을 가져온 다음 누락되지 않은 값만 유지하는 것입니다. 그런 다음 이를 로컬 데이터 필터에 목록으로 전달할 수 있습니다. 아래 예:
Names Default To Here (1);
//open file and delete a few data points
dt = open ("$SAMPLE_DATA/Abrasion.jmp");
for each ({i}, 6::9,
:Date[i] = .
);
//get non-missing
lstdates = matrix (Associative Array (:Date) << Get Keys);
lstdates = as list(lstdates[loc(!Is Missing(lstdates))]);
//launch cc
cc = Control Chart Builder( Variables( Y( :Abrasion ) ), Show Control Panel( 0 ), );
//launch data filter
ldf = cc << Local Data Filter(
Add Filter(
columns( :Date ),
Where( :Date == lstdates ),
Display( :Date, N Items( 5 ) )
)
);
/*JMP STATISTICAL DISCOVERY LLC (“JMP”) PERMITS THE USE OF THIS COMPUTER SOFTWARE CODE (“CODE”) ON AN AS-IS BASIS AND AUTHORIZES YOU TO USE THE CODE SUBJECT TO THE TERMS LISTED HEREIN. BY USING THE CODE, YOU AGREE TO THESE TERMS. YOUR USE OF THE CODE IS AT YOUR OWN RISK. JMP MAKES NO REPRESENTATION OR WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRIGEMENT, AND TITLE, WITH RESPECT TO THE CODE.
You may use the Code solely as part of a software product you currently have licensed from JMP, JMP’s parent company SAS Institute Inc. (“SAS”), or one of JMP’s or SAS’s subsidiaries or authorized agents (the “Software”), and not for any other purpose. The Code is designed to add functionality to the Software but has not necessarily been tested. Accordingly, JMP makes no representation or warranty that the Code will operate error-free. JMP is under no obligation to maintain, support, or continue to distribute the Code.
Neither JMP nor its licensors shall be liable to you or any third-party for any general, special, direct, indirect, consequential, incidental, or other damages whatsoever arising out of or related to your use or inability to use the Code, even if JMP has been advised of the possibility of such damages. Except as otherwise provided above, the Code is governed by the same agreement that governs the Software. If you do not have an existing agreement with JMP or SAS governing the Software, you may not use the Code.
JMP and all other JMP Statistical Discovery LLC product or service names are registered trademarks or trademarks of JMP Statistical Discovery LLC in the USA and other countries. ® indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies.
*/Re: 관리 차트에 특정 매개변수에 대한 데이터가 누락된 배치가 표시되지 않도록 JSL을 사용하여 설정합니다.저는 플랫폼 내에서 바로 변환 열을 사용하는 것을 좋아합니다.아래 스크립트의 관리 차트 부분을 만든 방법은 다음과 같습니다.
- 모든 데이터를 사용하여 관리도 만들기
- 제어판에서 날짜를 마우스 오른쪽 버튼으로 클릭하고 공식을 선택합니다.
- Is Missing 및 Not 함수를 추가하여 날짜 열이 누락되지 않은 경우 수식이 true가 되도록 하고 대화 상자를 닫습니다.
- 새 열을 마우스 오른쪽 버튼으로 클릭하고 이름을 'HasDate'로 바꿉니다.
- 새 열 옆에 있는 파란색 삼각형을 마우스 오른쪽 버튼으로 클릭하고 명목 데이터 유형으로 변경합니다.
- 로컬 데이터 필터를 추가하면 변환된 열이 사용 가능한 열 목록에 자동으로 표시됩니다.
당신이 얻어야 할 것은 다음과 같습니다:

그리고 이를 다시 생성하는 스크립트는 다음과 같습니다.
Names Default To Here (1);
dt = open ("$SAMPLE_DATA/Abrasion.jmp");
dt << Control Chart Builder(
Transform Column( "HasDate", Nominal, Formula( !Is Missing( :Date ) ) ),
Variables( Y( :Abrasion ) ),
Show Control Panel( 0 ),
Local Data Filter( Add Filter( columns( :HasDate ), Where( :HasDate == 1 ) ) )
);
시각적 자료를 생성하거나 분석을 수행하는 데 도움이 되는 열이라고 판단한 경우 해당 열을 마우스 오른쪽 버튼으로 클릭하여 데이터 테이블에 추가할 수 있습니다.
Re: 관리 차트에 특정 매개변수에 대한 데이터가 누락된 배치가 표시되지 않도록 JSL을 사용하여 설정합니다.아주 좋은, @ih !
Re: 관리 차트에 특정 매개변수에 대한 데이터가 누락된 배치가 표시되지 않도록 JSL을 사용하여 설정합니다.감사합니다. 귀하의 답변은 제가 원하는 것과 비슷하다고 생각하며, 코드를 약간만 수정하면 원하는 결과를 얻을 수 있을 것입니다. 안타깝게도 저는 JMP SL을 사용하는 여정의 시작 단계에 있습니다. 제가 달성하고 싶은 것을 완벽하게 구현하는 코드를 얻을 수 있도록 도와주시면 감사하겠습니다. 따라서 제 문제를 더 잘 설명하도록 노력하겠습니다.
데이터 테이블의 다양한 매개변수에 대해 제어 차트를 실행하기 위해 루프를 사용한다는 점을 말씀드리고 싶습니다.이전 팁을 사용하여 i번째 열을 필터링할 열로 사용하도록 코드를 변경할 수 있는 방법에 문제가 있습니다. :Column(i)을 시도해 보았지만 그런 방식은 아닌 것 같습니다...
내가 의미하는 바를 설명하려는 시도에서 코드 조각을 공유하고 있습니다.
For( i = 2, i <= 5, i++,
dt << Control Chart Builder(
lstdates = Matrix( Associative Array( :Column( i ) ) << Get Keys );
lstdates = As List( lstdates[Loc( !Is Missing( lstdates ) )] );
Show Two Shewhart Charts( 0 );,
Sort by Row Order( 1 ),
Include Missing Categories( 0 ),
Show Excluded Region( 0 ), //sprawdź które to które
Show Limit Summaries( 0 ),
Variables( Subgroup( :Batch ), Y( :Column( i ) ) ),
Chart(
Points( Statistic( "Individual" ) ),
Limits( Sigma( "Levey Jennings" ) ),
Warnings( Test 1( 1 ), Test 2( 1 ), Test 3( 1 ), Test 4( 1 ) )
),
ldf = cc << Local Data Filter(
Add Filter( columns( :Column( i ) ), Where( :Column( i ) == lstdates ), Display( :Column( i ), N Items( 5 ) ) )
),
SendToReport(
Dispatch( {}, "graph display 1 title", TextEditBox, {Set Text( "Levey Jennings chart of " || Nazwy[i] )} ),
Dispatch( {}, "Subgroup display 1 title", TextEditBox, {Set Text( "Batch numer" )} )
)
);
)
);
Re: 관리 차트에 특정 매개변수에 대한 데이터가 누락된 배치가 표시되지 않도록 JSL을 사용하여 설정합니다.데이터 테이블의 모든 연속 매개변수에 대해 "for" 루프를 사용하려면 날짜 대신 무엇을 써야 할지 모르시나요?
Re: 관리 차트에 특정 매개변수에 대한 데이터가 누락된 배치가 표시되지 않도록 JSL을 사용하여 설정합니다.이 샘플은 모든 연속 열을 목록으로 가져온 다음 해당 열을 반복하는 방법을 보여줍니다. 그런데 여러 열을 보고 있는 경우 모델 기반 다변량 관리도나 프로세스 스크리닝 플랫폼을 고려해 보셨나요? 둘 다 여러 출력에 대한 관리 차트를 간소화하는 데 탁월합니다.
Names Default To Here( 1 );
//open sample data table
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
//get all numeric continuous colums, return list as strings
lstcols = dt << Get Column Names( Numeric, Continuous, String );
//run an analysis for each column in the list
For Each( {i}, lstcols,
dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :age ), Y( Column( i ) ) ), //Use each column
Elements( Points( X, Y, Legend( 3 ) ) )
)
);
/*JMP STATISTICAL DISCOVERY LLC (“JMP”) PERMITS THE USE OF THIS COMPUTER SOFTWARE CODE (“CODE”) ON AN AS-IS BASIS AND AUTHORIZES YOU TO USE THE CODE SUBJECT TO THE TERMS LISTED HEREIN. BY USING THE CODE, YOU AGREE TO THESE TERMS. YOUR USE OF THE CODE IS AT YOUR OWN RISK. JMP MAKES NO REPRESENTATION OR WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRIGEMENT, AND TITLE, WITH RESPECT TO THE CODE.
You may use the Code solely as part of a software product you currently have licensed from JMP, JMP’s parent company SAS Institute Inc. (“SAS”), or one of JMP’s or SAS’s subsidiaries or authorized agents (the “Software”), and not for any other purpose. The Code is designed to add functionality to the Software but has not necessarily been tested. Accordingly, JMP makes no representation or warranty that the Code will operate error-free. JMP is under no obligation to maintain, support, or continue to distribute the Code.
Neither JMP nor its licensors shall be liable to you or any third-party for any general, special, direct, indirect, consequential, incidental, or other damages whatsoever arising out of or related to your use or inability to use the Code, even if JMP has been advised of the possibility of such damages. Except as otherwise provided above, the Code is governed by the same agreement that governs the Software. If you do not have an existing agreement with JMP or SAS governing the Software, you may not use the Code.
JMP and all other JMP Statistical Discovery LLC product or service names are registered trademarks or trademarks of JMP Statistical Discovery LLC in the USA and other countries. ® indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies.
*/Re: 관리 차트에 특정 매개변수에 대한 데이터가 누락된 배치가 표시되지 않도록 JSL을 사용하여 설정합니다.내가 이해하지 못하는 것은 주어진 열을 이름(예: ':name')으로 참조하면 내 스크립트에서는 작동하지만 'column(i)'으로는 작동하지 않는 이유입니다(코드에서 그 사실을 알고 있습니다). 위에서는 열(i) 대신 :column(i)을 작성하여 실수를 저질렀지만 이를 수정해도 아무 변화가 없었습니다...)