For 루프를 사용하여 열 스크립트 가져 오기열심히 수작업으로 입력 한 수식을 기반으로하는 새로운 열이 포함 된 데이터 테이블이 있습니다. 다른 테이블에서이 모든 열을 다시 만들 수있는 JSL 스크립트를 만들고 싶습니다.
다음 스크립트는 단일 열에 대해 원하는 것을 반환합니다.
dt=current data table();
column(dt,1) << Get script;
FOR 루프를 사용하여 자동화하고 싶었지만 작동시키지 못했습니다. 이 문제를 해결하는 방법에 대한 제안은 매우 감사하겠습니다!
여기 제가 시도한 것이 있습니다 :
dt=current data table();
j= N cols(dt);
For( i = 1, i <=j , i++,
Column(dt,i) << Get Script;
);
다시 : For 루프를 사용하여 열 스크립트 가져 오기안녕하세요 @ cjohnson6 ,
그만큼 선택한 열 추가 기능에 대한 스크립트 복사 이 작업을 수행합니다. 수식 열을 선택하고 추가 기능을 실행하면 선택된 모든 열의 결합 된 스크립트가 클립 보드에 복사되어 JSL 워크 플로에 붙여 넣을 수 있습니다.
@ 율리안
다시 : For 루프를 사용하여 열 스크립트 가져 오기참고로, 추가 기능 스크립트의 비즈니스 부분은 다음과 같습니다.
//collist is a list of the formula columns to be copied
For( i = 1, i <= N Items( collist ), i++,
//create a new column in the copy to data table
//substitute replaces the form in the New Column() expression with the formula from
//the source column
Eval(
Substitute(
Expr(
dt2 <<
New Column(
Column(
chosen,
Char( collist[i] )
) << get name,
formula( form )
)
),
Expr( form ),
Column( chosen, Char( collist[i] ) )
<< get formula
)
)
);
다시 : For 루프를 사용하여 열 스크립트 가져 오기방금 업로드 한 수식 추가 기능 복사 ~로 파일 교환 .
추가 기능 메뉴에서이 작업을 수행 할 수있는 대화 형 방법을 제공합니다.

나만의 스크립트를 작성할 필요가 없습니다.
다시 : For 루프를 사용하여 열 스크립트 가져 오기한 번에 전체 데이터 테이블에 대한 스크립트를 가져올 수 있습니다.
dt = Current Data Table();
myScript = dt << get script;
단점은 스크립트에 포함 된 모든 데이터를 가져올 수 있다는 것입니다. 따라서 쉬운 일은 먼저 데이터를 삭제 한 다음 스크립트를 검색하는 것입니다
dt = Current Data Table();
dt << select all rows << delete rows;
myScript = dt << get script;
그러면 검색된 스크립트를 편집하는 간단한 작업이됩니다.
귀하의 스크립트에 관해서는, 당신이하고자하는 것은 로그에서 << 스크립트의 결과를 표시하는 것입니다, 그래서 당신은 거기에서 잘라내어 붙여 넣을 수 있습니다. 일반적으로 JMP는 스크립트를 실행할 때 마지막 명령문의 마지막 결과를 표시합니다. 따라서 하나의 컬럼 << get 스크립트 만 실행하면 결과가 표시됩니다. 루프에서 수행하려면 쓰기, 인쇄 또는 표시 기능을 사용하여 결과를 로그에 저장해야합니다.
dt = Current Data Table();
j = N Cols( dt );
For( i = 1, i <= j, i++,
Show( Column( dt, i ) << Get Script )
);
또는 프로그래밍 방식으로 작업 할 수있는 구조에 값을 유지하려는 경우 결과를 목록에 배치 할 수 있습니다
dt = Current Data Table();
myList = {};
j = N Cols( dt );
For( i = 1, i <= j, i++,
myList[i] = Column( dt, i ) << Get Script
);