"function" 또는 "for"의 구문 오류JMPers님, 안녕하세요.
내(JMP 14.3.0, W10) 의도는 테이블(dt)과 고유 로트 번호(uid) 목록을 입력으로 사용하고 각 uid에 대한 dt 복사본을 연결하고 채워 테이블을 구성하는 함수를 작성하는 것입니다. 해당 부지에. 아니요. 각 장소에 대한 정보입니다. 이것의 목적은 나중에 테이블에서 조인 작업을 수행할 수 있도록 하는 것입니다. 저는 JSL 학습 곡선의 초기 단계에 있으며 다음과 같은 오류가 발생합니다.
예상치 못한 "if"입니다. 아마도 "," 또는 ")"가 누락되었을 수 있습니다. "For" 함수의 인수를 구문 분석하는 중입니다.
내 함수나 For 루프에 구문 문제가 있는 것 같지만 구문은 올바르게 실행되는 것으로 보이는 다른 코드와 동일해 보입니다. 모든 조언을 환영합니다!
pop_limits_with_uids = Function( {dt, uids},
For( i = 1, i < N Items( uids ), i++,
Print( "here" );
If( i == 1,
pop_dt = dt << Subset( Output Table( "dt_copy" ), All rows, Selected columns only( 0 ) );
dt_copy = pop_dt;
Print( i );
,
dt_copy = dt << Subset( Output Table( "dt_copy" ), All rows, Selected columns only( 0 ) )
);
Column( dt_copy, "Lot No." )[{1, 2, 3}] = uids[i]; //dt_copy should have 3 rows. Set all 3 Lot No. to latest uid
pop_dt << concatenate( dt_copy, append to first table( 1 ) ); //add to the primary list
);
Close( dt_copy );
);
문안 인사,
스캇
자동화 및 스크립팅Re: "function" 또는 "for" 구문 오류JMP 17에 게시한 JSL에는 구문 문제가 없습니다.
해당 문제를 해결한 후에는 결과가 무엇이든 함수에서 일부 지역 변수를 사용하고 싶을 수 있습니다. 이 같은:
pop_limits_with_uids = Function( {dt, uids},
{ i, pop_dt, dt_copy }, // these are local to the function
For( i = 1, i < N Items( uids ), i++,
Print( "here" );
If( i == 1,
pop_dt = dt << Subset( Output Table( "dt_copy" ), All rows, Selected columns only( 0 ) );
dt_copy = pop_dt;
Print( i );
,
dt_copy = dt << Subset( Output Table( "dt_copy" ), All rows, Selected columns only( 0 ) )
);
Column( dt_copy, "Lot No." )[{1, 2, 3}] = uids[i]; //dt_copy should have 3 rows. Set all 3 Lot No. to latest uid
pop_dt << concatenate( dt_copy, append to first table( 1 ) ); //add to the primary list
);
Close( dt_copy );
);
다른 방법도 있습니다. 이것이 나에게 가장 적합한 것입니다. 현재 직면하고 있는 문제는 해결되지 않습니다.