코딩 속성에 두 개의 숫자가 없었습니다.안녕하세요,
아래 for 루프는 각 열에 "coding" 속성을 할당하면서 열을 순회합니다. all_cols는 관심 있는 열 목록입니다. 함수는 거의 의도대로 작동합니다. coding 속성은 열 최소값과 최대값을 포함하여 올바르게 할당됩니다.
for( y = 1, y <= N Items( all_cols ), y++,
row() = y;
lims = Eval List( { col min( eval( all_cols[y] ) ), col max( eval( all_cols[y] ) ) } );
all_cols[y] << Set Property( "Coding", Expr( lims ) );
);
하지만 상세 로그를 보니 "코딩 속성에 두 개의 숫자가 없습니다"라는 오류가 발생했는데, all_cols의 각 열에 대해 한 번씩 반복하는 것을 확인했습니다. 제가 직접 세어봤습니다.
여기서 문제가 발생합니다. 스크립트 후반부에서 표준 최소 제곱법을 수행합니다. 효과 요약 목록에서 효과를 제거하려고 하면 아래와 같은 오류 메시지가 담긴 상자가 나타납니다. 오른쪽 상단의 "x"를 눌러 상자를 닫거나 "확인" 버튼을 누르면 이 상자가 무한정 나타나 JMP를 강제로 종료할 때까지 사용할 수 없게 됩니다.

JMP 표현식 평가가 유사할 경우, for each() 함수도 동일한 오류를 발생시킵니다. 이는 모든 열을 선택하고 '속성 표준화' 기능을 통해 모든 속성을 일괄 변경하는 것과 같습니다.
지금 무슨 일이 벌어지고 있는지, 그리고 어떻게 막을 수 있을지에 대한 의견이 있으신가요?
품질 및 공정 엔지니어링Re: 코딩 속성에 두 개의 숫자가 없습니다.코딩 열 속성은 열 정보 대화 상자에서 올바르게 보이지만 올바르지 않습니다. 데이터 테이블 스크립트를 조사한 결과 << Set Property() 메시지에 대한 두 번째 인수가 문자 그대로 할당된 것을 발견했습니다. 에 저장된 값을 사용하지 않습니다. 사지 . 값을 직접 대체해야 합니다. 다음은 작동하는 한 가지 방법입니다.
For( i = 1, i < N Col(), i++,
lims = Eval List( {Col Min( Eval( Column(i) ) ), Col Max( Eval( Column(i) ) )} );
Eval(
Substitute(
Expr( Column( i ) << Set Property( "Coding", ccc ); ),
Expr( ccc ), lims
)
)
);
이 속성은 JMP DOE 플랫폼에서 테이블 만들기를 클릭하면 자동으로 추가됩니다. 테이블이 생성된 후 이 속성을 추가해야 하는 이유는 무엇입니까?
Re: 코딩 속성에 두 개의 숫자가 없습니다.all_cols는 열 목록이지만 루프에 의해 반복됩니다. lims가 정의된 줄은 Expr()을 사용하여 lims를 호출합니다.도움이 되나요?
Re: 코딩 속성에 두 개의 숫자가 없습니다.이 문제에 대한 추가 참고 사항은 다음과 같습니다.
- 루프의 각 열에 대해 << Get Property("Coding")를 사용하면 col min 및 col max 값 쌍이 성공적으로 반환됩니다. 이는 속성이 올바르게 할당되었고 값이 채워졌는지 확인합니다.
- Set Property()에 대한 코드를 빈 스크립트로 분리하면 제대로 실행되고 향상된 로그에 오류 알림이 표시되지 않습니다... 그러나 아래를 읽으십시오.
- 모델 맞춤 대화 상자에서 위에서 언급한 대로 별도의 스크립트에서 속성 설정()을 수행한 후에도 여전히 오류가 발생합니다.

Re: 코딩 속성에 두 개의 숫자가 없습니다.코딩 속성을 추가하기 위해 스크립트를 실행한 후 이 작업을 수행합니다. 데이터 테이블의 왼쪽 상단 모서리에 있는 테이블 패널에서 빨간색 삼각형을 클릭하고 테이블 스크립트 복사를 선택합니다. 그런 다음 새 스크립트 편집기를 열고 스크립트를 붙여넣습니다. 속성 설정 인수를 검사합니다. 두 번째 인수에 대해 두 개의 숫자가 포함된 목록이 표시되어야 합니다. 그렇지 않으면 스크립트가 잘못된 것입니다.
Re: 코딩 속성에 두 개의 숫자가 없습니다.
훌륭한 캐치!이것이 테이블 스크립트에 있는 것입니다. 거기에 필요한 값을 얻기 위해 코딩을 만지작거릴 것입니다.감사합니다, @Mark_Bailey !
해결책을 게시할 때까지 이 스레드를 열어 두겠습니다.
Re: 코딩 속성에 두 개의 숫자가 없습니다.이것은 간단한 수정이었습니다. 내 데이터 세트 작업이 확인되었습니다!
for( y = 1, y <= N Items( all_cols ), y++,
row() = y;
lims = Eval List( { col min( eval( all_cols[y] ) ), col max( eval( all_cols[y] ) ) } );
Eval( Eval expr ( all_cols[y] << Set Property( "Coding", Expr( lims ) ) ) );
);