jsl에서 if 문이 작동하지 않습니다안녕하세요 여러분.
내 if 문에 문제가 무엇인지 확인해 주시겠어요? 조건이 참일 경우(내 경우 spec 파일 이름이 코드에 쓰여진 대로) 여러 jsl 명령을 실행하고 싶지만 작동하지 않습니다.
다른 모든 것은 잘 작동하는데, if 문만 작동하지 않습니다.
제 JMP 버전은 18입니다
dt = Current Data Table();
dt << Select Columns( :PARAMETER );
dt << Text To Columns( delimiter( "_" ) );
dt << delete columns( :PARAMETER 1 );
If( :SPECFILE == "MS-SMLD",
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
:PARAMETER 5 << set name( "Column_name4" );
:PARAMETER 6 << set name( "Column_name5" ) ;
,
If( :SPECFILE == "SMLA", Formula(
dt << delete columns( :PARAMETER 5 );
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
)
)
);
감사해요,
레셰프
윈도우Re: jsl에서 if 문이 작동하지 않음: SPECFILE을 SPECFILE로 변경하면 충분할 수 있습니다( : SPECFILE은 (일반적으로) 열을 참조합니다).
Re: jsl에서 if 문이 작동하지 않음안녕.
감사합니다! 하지만 "SPECFILE"은 실제로 jmp 테이블의 열입니다.
어쨌든, 시도해 보았지만 효과가 없습니다.
아마 IF 문에서 jsl 명령을 구분하는 게 뭔가요?
아니면 하나의 IF 문에서 여러 개의 jsl 명령을 실행하는 것이 불가능할까요?
감사해요,
레셰프
Re: jsl에서 if 문이 작동하지 않음그런 다음 Row를 정의해야 합니다(예: Row() = 1;) 또는 For Each Row를 사용하여 테이블의 행을 반복합니다. JMP의 "기본" 행은 0으로 유효한 행이 아닙니다.
Re: jsl에서 if 문이 작동하지 않음당신이 하려는 것이 "SPECFILE" 열의 행 1 값을 보고 이를 기반으로 결정을 내리는 것이라면 아래 JSL이 당신이 원하는 것입니다.
Names Default To Here( 1 );
dt = Current Data Table();
dt << Select Columns( :PARAMETER );
dt << Text To Columns( delimiter( "_" ) );
dt << delete columns( :PARAMETER 1 );
If(
:SPECFILE[1] == "MS-SMLD",
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
:PARAMETER 5 << set name( "Column_name4" );
:PARAMETER 6 << set name( "Column_name5" );,
:SPECFILE[1] == "SMLA",
dt << delete columns( :PARAMETER 5 );
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
);