IF 문 오류
아래와 같이 IF 문을 사용하고 있습니다. 스크립트를 실행할 때 스크립트는 "열기" 명령만 구현합니다> 스크립트는 IF 루프에 들어가지도 않습니다.
스크립트 2와 같이 IF 문과 함께 "FOR EACH ROW"를 사용해 보았지만 다음 오류가 발생합니다.
어떤 제안??
dt = Open ("C:\Users\NXF90574\Documents\NXP\Machine Learning\Script trial\fc data\fc_mcs11_evm_cluster_means.jmp");
IF( :"Ppk"n <= 2 ,
(
dt << Select where( :"Ppk"n <=2 );
dt_ppk = dt << subset (Output table("fc_mcs11_evm_cluster_means_low_ppk.jmp"), Selected Rows( 1 ), selected columns( 0 ));
dt_ppk << Save As("C:\Users\NXF90574\Documents\NXP\Machine Learning\Script trial\fc data\fc_mcs11_evm_cluster_means_low_ppk.jmp");
),
"PPk Good"
);dt = Open ("C:\Users\NXF90574\Documents\NXP\Machine Learning\Script trial\fc data\fc_mcs11_evm_cluster_means.jmp");
For each row(dt,
IF( :"Ppk"n <= 2 ,
(
dt << Select where( :"Ppk"n <=2 );
dt_ppk = dt << subset (Output table("fc_mcs11_evm_cluster_means_low_ppk.jmp"), Selected Rows( 1 ), selected columns( 0 ));
dt_ppk << Save As("C:\Users\NXF90574\Documents\NXP\Machine Learning\Script trial\fc data\fc_mcs11_evm_cluster_means_low_ppk.jmp");
),
"PPk Good"
)
); 자동화 및 스크립팅기본 데이터 분석 및 모델링Re: IF 문에 오류가 있습니다.무엇을 하려고 합니까?
Re: IF 문에 오류가 있습니다.1] 파일 열기
2 ] 열 이름 Ppk <=2인지 확인
a] 그렇다면 Ppk <=2인 행을 선택하고 하위 집합으로 만들고 다른 데이터 테이블로 저장합니다.
b] 아니요인 경우 "PPk 양호"를 표시합니다.
Re: IF 문에 오류가 있습니다.<< Get Rows Where를 사용하여 Ppk <= 2인 행을 가져온 다음 if 문을 사용하여 해당 목록의 항목이 0보다 큰지 확인합니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Show(Row()); // Row() is inmitialize as 0 which isn't valid row number in JMP
// -> :name; // won't return anything useful
rows_of_interest = dt << Get Rows Where(:height <= 60);
If(N Items(rows_of_interest) > 0,
// perform actions
Show("PPK NOK")
,
Print("PPK OK");
);Re: IF 문에 오류가 있습니다.사용 @jthi 답변. 하지만 무슨 일이 있었는지 설명하자면...
원래 두 스니펫에서 첫 번째는 테이블에 현재 행이 없기 때문에 실패합니다.
:"Ppk"n <= 2
누락된 값과 비교 중입니다. 누락에 대한 비교는 참 또는 거짓이 아니며 if의 참 및 거짓 절이 실행되지 않습니다(JMP에서 누락된 값에 대해 모르는 경우 놀라운 결과).
dt=open("$sample_data/big class.jmp");
dt:age==14
. <<< no row selected, result is missing
row()=5; dt:age==13
0 <<< LILLIE is 12
두 번째 예에서 ForEachRow는 각 행을 한 번에 하나씩 현재 행으로 만들기 때문에 첫 번째 문제를 피할 수 있습니다. 를 기반으로 행 2에 저장할 수 없습니다. 첫 번째 하위 집합 테이블이 파일 이름에 매달려 있고 행 2에서 만든 두 번째 하위 집합이 이미 사용 중인 동일한 파일에 저장하려고 한다고 확신합니다. (편집하다:) 닫기(dt_ppk) 이를 해결할 수 있지만 여전히 동일한 파일을 계속해서 다시 생성합니다.
Re: IF 문에 오류가 있습니다.If() 함수의 첫 번째 인수,
:"Ppk"n <= 2
평가되고 열 참조 또는 테이블 변수를 숫자 값과 비교합니다. 그게 당신이 원하는 것입니까?
둘 다 이름이 Ppk인 열과 테이블 변수가 있습니까?
Re: IF 문에 오류가 있습니다.매우 감사합니다. 이것은 잘 작동했습니다.
Re: IF 문에 오류가 있습니다.안녕 크레이지,
설명해주셔서 감사합니다. 지금은 분명합니다.