테이블 수식에서 jmp 스크립트를 사용하여 부울 논리를 수행할 수 없습니다.안녕하세요,
중심에서 반경 방향 거리가 100mm보다 큰 점을 선택하고 숨기고 제외하는 간단한 스크립트를 실행하려고 합니다.
디버깅을 단순화하기 위해 이것을 두 개의 스크립트로 나눕니다. 첫 번째 스크립트는 방사형 거리 Radial = (x^2 + y^2)^(1/2) 공식으로 열을 생성하고 두 번째 스크립트는 이 공식을 평가하여 행을 선택하고 숨깁니다. 여기서 방사형 > 100.
불행히도 이것은 작동하지 않습니다. 매우 이상한 이유로 평가는 이 공식에 대해 특정 값까지만 작동합니다. 방사형 >(30개 이상)은 모든 행을 선택합니다.
두 가지 솔루션을 볼 수 있습니다.
1) 수식 자체가 아닌 방사형 열에 값을 씁니다. (값은 제대로 평가되지만 공식은 그렇지 않음). 이 작업을 수행하는 방법을 잘 모르겠습니다.
2) 30보다 큰 값에 대해 공식을 평가할 수 있도록 문제를 이해하고 수정합니다.
스크립팅 답변이나 대화형 설명이 허용됩니다. 이 문제를 해결하고 배우고 싶습니다.
감사 해요!
데이브
// script for creating the Radial column<BR />dt1 = Current Data Table ();
dt1 << New Column( "Radial", Formula ((X coordinate^2 + Y coordinate^2)^(1/2)));<BR /><BR />// script for evaluating the Radial formula<BR />dt =Current Data Table();<BR />dt << Clear Row States; <BR />dt << Select where(Radial < 100);<BR />dt << hide and exclude;<BR />
스크립팅Re: 테이블 수식에서 jmp 스크립트를 사용하여 부울 논리를 수행할 수 없습니다.방사형 열을 만들기 위한 스크립트
dt1 = Current Data Table ();
dt1 << Clear Row States;
dt1 << New Column( "Radial", Formula ((X coordinate^2 + Y coordinate^2)^(1/2)));
방사형 공식을 평가하기 위한 스크립트
dt =Current Data Table();
dt << Clear Row States;
dt << Select where(Radial < 100);
dt << hide and exclude;
Re: 테이블 수식에서 jmp 스크립트를 사용하여 부울 논리를 수행할 수 없습니다.여기에서 문제를 재현하는 데 문제가 있는 것 같습니다. 다음은 테스트에 사용한 스크립트입니다.
dt1 = New Table( "Community 416651 Select Where",
Add Rows( 1000000 ),
New Column( "x coordinate",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Sequence( 5, 100, 5 ) ),
Set Selected
),
New Column( "y coordinate",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Sequence( 5, 100, 5, 20 ) ),
)
);
dt1 << New Column( "Radial",
Formula(
(X coordinate ^ 2 + Y coordinate ^ 2) ^ (1 / 2)
)
);
dt1 << Select where( Radial < 60 );
따라서 스크립트와 데이터 테이블에 대한 자세한 정보가 필요합니다.
데이터 테이블의 크기는 얼마입니까? 당신의 스크립트는 또 무엇을 하고 있습니까?
Re: 테이블 수식에서 jmp 스크립트를 사용하여 부울 논리를 수행할 수 없습니다.답변해 주셔서 감사합니다.
스크립트의 마지막 줄을 내 파일에 붙여넣어도 문제가 해결되지 않았습니다. 그러나 열 이름을 "방사형 1"로 변경하고 끝에 Eval Formula가 있는 줄을 추가하여 솔루션을 얻을 수 있었습니다. 이것이 작동하는 이유는 확실하지 않습니다. 데이터 테이블은 약 1,300개의 행과 15개의 열로 구성되며 각 숫자의 너비는 10~12입니다.
다음 두 스크립트가 작동합니다. 전체를 붙여넣고 있습니다. 다른 라인은 피트 깊이와 분포를 평가합니다.
수정 사항이 왜 효과가 있었는지 아십니까? 나는 하루 종일 이것에 있었다.
스크립트 1: "구덩이만" 및 "방사형 1" 열 만들기
dt1 = Current Data Table ();
dt1 << Clear Row States;
dt1 << New Column( "Pits Only", Formula (If( :Name( "Height (mm)" ) <= 0, :Name( "Height (mm)"), 0 )) );
dt1 << New Column( "Radial 1", Formula ((X coordinate^2 + Y coordinate^2)^(1/2)));
dt1 << Eval Formula;
obj = dt1 << Distribution( Column( :Pits Only), Horizontal Layout( 1 ), Count Axis);
스크립트 2: 피트만 > 10 또는 방사형 1 > 100 또는 방사형 1 < 30인 행 숨기기 및 제외
dt =Current Data Table();
dt << Clear Row States;
win = New Window( "Feature Depth" , <<MODAL> 100) | (Radial 1< 30) | (Pits Only > mf));
dt << hide and exclude;</MODAL>