안녕. USL을 LSL과 동일하게 설정하는 기능을 갖고 싶습니다. 현재 JMP Pro 17.2.0을 사용하고 있습니다. 열 속성 창에서 제한을 서로 동일하게 설정하려고 하면 "USL은 LSL 및 대상보다 커야 합니다."라는 오류가 발생합니다. Manage Limits 플랫폼을 사용하여 시도해도 비슷한 오류가 발생합니다.
원래 토론은 이 스레드를 참조하십시오.
https://community.jmp.com/t5/Discussions/Setting-Spec-Limits-with-USL-LSL/mp/717822#M89952
이 위시리스트 요청에 영감을 준 것은 무엇입니까?
열 속성 창이나 제한 관리 플랫폼에서 서로 동일한 제한을 설정하려고 하면 오류가 발생합니다. << 속성 설정 메시지를 사용하여 프로그래밍 방식으로 제한을 동일하게 설정할 수 있지만 제한 관리를 사용하여 다시 읽을 수는 없습니다. 이 스크립트는 다음을 설명하는 데 도움이 됩니다.
Names Default to Here(1);<BR />dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt:Height << Set Property("Spec Limits", USL(1), LSL(1)); //I can set USL=LSL in a script<BR />//I can confirm they've been set by manually opening the Column Properties window.
//At some later date I need to reopen the table and get the limits to evaluate yield:
msl = dt << Manage Limits(Process Variables(:Height)); //The limits are now missing.
dtlim = msl << Save to Tall Limits Table;
때때로 문제가 되는 모든 열이 나열되어 있는 "일관되지 않은 제한" 효과에 대해 설명하는 작은 창 팝업이 표시되는 경우도 있지만 아직 이를 재현하는 방법을 찾지 못했습니다.
당신이 보고 싶은 개선점은 무엇입니까?
열 속성 및 제한 관리 창에서 서로 동일한 제한을 설정하는 기능을 원합니다. 그래도 계속해서 USL < LSL을 방지하고 싶습니다.
이 아이디어가 왜 중요한가요?
우리 데이터에는 1000개의 열이 포함되어 있습니다. 전부는 아니지만 일부 열은 코드(정수)를 나타냅니다. 여기서 하나의 값만 "정상"을 의미하고 다른 모든 열은 다른 유형의 오류를 나타냅니다. 예를 들어, "1"은 통과하고, "0"은 테스트하지 않았으며, 값 2 이상은 다른 오류를 나타냅니다. 우리는 스크립트를 사용하여 이러한 데이터에 대한 수율 및 기타 분석을 계산하려고 합니다. 그러나 스크립트가 제한 관리를 사용하여 제한을 다시 읽을 때 해당 열이 누락되었기 때문에 USL=LSL인 열은 확인되지 않는 것으로 나타났습니다.
우리가 고려한 사항:
1. 한계를 (x,x) 대신 (x-0.1, x+0.1)로 설정합니다. 수백 개의 제한을 수정하고 여러 제조 단계와 여러 프로그램을 곱해야 하며 회사의 다른 많은 조직에 영향을 미칠 수 있는 작업은 수행할 수 없습니다.
2. USL은 누락된 채로 두고 이러한 열에 대해 LSL만 설정합니다. 그런 다음 수익률 분석 스크립트에서 값이 "코딩"된 열 목록과 비교하여 열 이름을 확인하는 절을 추가하고, 일치하는 경우 값이 LSL-사이에 있는지 확인하는 대신 값이 LSL과 일치하는지 확인합니다. USL. 문제가 되는 것은 스크립트 내에서 어떤 열을 다른 방식으로 확인해야 하는지 하드코딩하고 개발 과정에서 이름 목록이 변경됨에 따라 스크립트를 지속적으로 업데이트해야 한다는 것입니다. 또한 동일한 테스트를 공유하지 않기 때문에 각 제조 단계와 각 프로그램에 대해 별도의 목록을 유지해야 합니다. 또한 문제가 되는 것은 다른 사람들이 데이터에 대해 다른 분석 스크립트를 사용하고 있기 때문에 USL을 삭제하고 LSL만 유지했는지 여부를 인식하지 못할 수도 있다는 것입니다.
3. 위 스크립트와 같이 프로그래밍 방식으로 제한을 설정합니다. 그런 다음 나중에 데이터 테이블에서 다시 읽으려면 제한 관리 대신 << 속성 가져오기 메시지를 사용하세요. 나는 이것을 시도하기 위해 여전히 대본을 작성 중이지만 이미 이 전술에 대해 불안감을 가지고 있습니다. 첫째, 각 열의 사양을 읽고 구문 분석하려면 For 루프가 필요하며, 10,000개가 넘는 열의 경우 시간이 걸릴 수 있습니다. 둘째, << Get Property("Spec Limits") 메시지의 제한을 구문 분석하는 데 어려움이 있습니다. (1) USL(1)(따옴표 없음)만 반환하며 여기서 숫자를 추출하는 방법이 불분명합니다. (2) 열 속성 창에서 LSL도 1로 설정되어 있음을 확인했지만 LSL을 반환하지 않는 것 같습니다. 아래 스크립트는 다음과 같습니다.
Names Default to Here(1);<BR />dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt:Height << Set Property("Spec Limits", USL(1), LSL(1)); //confirm limits set in col props window.<BR />specs = dt:Height << Get Property( "Spec Limits" ); //returns USL(1) only
lsl = specs["LSL"]; //returns .
usl = specs["USL"]; //returns .
제가 생각하지 못한(또는 언급하는 것을 잊어버린) 다른 확실한 해결책이 있다면 미리 사과드립니다. 또한 중요한 세부 사항을 간과한 경우 사과드립니다. 나는 한동안 이 작업을 해왔기 때문에 잡초 속에 깊이 빠져 있습니다.
고려해 주셔서 감사합니다.
@nikles 우리는 LSL=USL을 허용하는 JMP v18.1의 데이터 테이블을 업데이트할 계획입니다. 그러나 해당 속성 설정이 있는 열은 기능 보고서에서 작동하지 않습니다.
안녕하세요 @nikles 관련 커뮤니티 토론 스레드와 이 요청을 읽었습니다. 당신에게 정말로 필요한 것은 "범주형 사양"을 정의하고 저장하는 방법인 것 같습니다. 예를 들어 제품 테스트에서 단순히 합격/불합격 결과가 나오고 "합격"이 사양인 경우 이를 사양으로 열 속성에 저장할 수 있습니다. 테스트 결과가 Excellent, Good, Poor, Fail이고 "Excellent" 또는 "Good"이 합격 사양인 등 다른 유형의 범주형 사양도 볼 수 있습니다.
현재 사양 제한 열 속성의 USL 및 LSL은 연속 응답을 위한 것이므로 LSL>=LSL에는 적합하지 않습니다. 분석 > 품질 및 프로세스 아래의 한계 관리 플랫폼은 JMP 분석에 사용되는 한계를 관리하기 위한 것입니다. 저는 이와 같은 범주형 제한을 활용하는 JMP 플랫폼을 본 적이 없습니다.
즉각적인 필요에 따라 사용자 정의 열 속성을 생성하여(열 속성에서 "기타" 선택) 범주형 사양을 저장할 수 있습니다. 또는 데이터 테이블의 JSL에서 << Set Property( ) 메시지를 사용할 수 있습니다. 그런 다음 스크립트에서 해당 속성을 활용할 수 있습니다.

중요한 수정. 위에 표시된 두 스크립트의 두 번째 줄은 다음과 같아야 합니다.
dt:Height << Set Property("Spec Limits", {USL(1), LSL(1)}); //forgot to add {}감독에 대해 사과드립니다. 이는 << 속성 설정 및 << 속성 가져오기 메시지를 사용하는 데 어려움을 겪는 이유를 설명합니다. 이제 Manage Limits 창을 사용하여 한도를 다시 읽을 수 *있음*을 알 수 있습니다. 그러나 한도 관리를 열면 다음과 같은 팝업이 계속 나타납니다.

또한 "Tall Limits Table에 저장"을 시도하면 다음 오류가 발생합니다.

마지막으로, "우리가 고려한 사항" 아래의 원래 게시물, 항목 3( 제한 관리 대신 << 속성 가져오기 메시지를 사용하여 데이터 테이블에서 제한 읽기)에서 이 방법이 이제 나에게 적합합니다. 나는 자동으로 테이블을 생성하므로 제한을 읽는 대신 Manage Limits 플랫폼을 사용하는 것을 선호하지만 적어도 이것이 실행 가능한 해결 방법입니다.
@SamGardner 도움을 주셔서 감사합니다! LSL=USL을 허용하기로 결정해서 기쁘네요. 범주형 사양 속성 정의에 대한 다른 솔루션은 고려하지 않았으므로 이에 대해서도 감사드립니다. 그러나 해당 솔루션의 문제는 이러한 열에 대해 LSL만 정의하는 다른 솔루션과 유사할 것이라고 말하고 싶습니다. 즉, 수율을 계산할 때 해당 열을 다르게 처리하는 스크립트가 필요합니다. 이를 위해서는 어떤 열에 대해 이 작업을 수행해야 하는지 아는 스크립트가 필요합니다. LSL=USL을 허용하면 모든 열을 동일하게 처리할 수 있습니다.