여러 데이터 테이블에 스크립트 적용JMP에서 txt 파일을 데이터 테이블로 연 다음 행 7에 나열된 열 이름을 열 머리글로 이동하는 스크립트가 있습니다. 이를 여러 데이터 테이블에 어떻게 적용할 수 있나요? 현재 스크립트가 작동하지 않습니다. JMP16이 있습니다. 감사해요.
dt_list = Multiple File Import(); //additional known text here to open files
table_script = expr(
//Move the column names listed in row 7 to the column headers
dt = Current Data Table();
dt << clear select;
dt << Clear Column Selection();
lastcol = N Col( dt );
header = 7;
For( i = 1, i <= lastcol, i++,
Column( i ) << set Name( Column(i)[header] )
);
);
Eval(
Eval Expr(
For Each( {value, index},
Expr( dt_list[index] << table_script )
)
)
); 자동화 및 스크립팅Re: 여러 데이터 테이블에 스크립트 적용설정 방법은 다음과 같습니다.
Names Default To Here( 1 );
dt_list = Multiple File Import();
table_script = Function( {dt},
{defaultlocal},
//Move the column names listed in row 7 to the column headers
dt << clear select;
dt << Clear Column Selection();
lastcol = N Col( dt );
header = 7;
For( i = 1, i <= lastcol, i++,
Column( i ) << set Name( Column( i )[header] )
);
);
For Each( {value}, dt_list, table_script( value ) );Re: 여러 데이터 테이블에 스크립트 적용답장을 보내 주셔서 감사합니다! 귀하의 스크립트를 시도했지만 열린 마지막 데이터 테이블에서만 table_script 함수를 실행하고 있습니다. 문제가 무엇인지 아시나요? 감사합니다.
Re: 여러 데이터 테이블에 스크립트 적용귀하가 지적한 결과를 재현했지만 제가 취하고 있던 접근 방식으로는 문제를 해결할 수 없었습니다.그래서 원래 코드로 돌아가서 접근 방식을 단순화하고 완전한 예제를 성공적으로 실행했습니다.
Names Default To Here( 1 );
rc = Create Directory( "$TEMP/sub1" );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
Close( dt, save( "$TEMP/sub1/MFI big class.jmp" ) );
dt = Open( "$SAMPLE_DATA/body fat.jmp" );
Close( dt, save( "$TEMP/sub1/MFI body fat.jmp" ) );
dt = Open( "$SAMPLE_DATA/candy bars.jmp" );
Close( dt, save( "$TEMP/sub1/MFI candy bars.jmp" ) );
Show( Files In Directory( "$TEMP/sub1" ) );
dt_list = Multiple File Import(
<<SET folder=""></SET>
Re: 여러 데이터 테이블에 스크립트 적용매우 감사합니다! 새 스크립트는 열린 모든 데이터 테이블을 편집하는 데 작동했습니다. 그러나 내 스크립트가 의도한 대로 작동하지 않고 행 7을 열 머리글로 이동하는 대신 모든 열 머리글에 "7"을 첨부하고 있음을 발견했습니다. 이전에는 단일 데이터 테이블에서 작업했지만 이 경우 지정된 위치의 테이블 값을 실제로 읽으려면 코드를 변경해야 했습니다. 내 작업 코드는 다음과 같습니다.
Names Default To Here( 1 );
dt_list = Multiple File Import();
table_script = Expr(
//Move the column names listed in row 7 to the column headers
dt = Current Data Table();
dt << clear select;
dt << Clear Column Selection();
lastcol = N Col( dt );
header = 7;
For( i = 1, i <= lastcol, i++,
tableVal = Column( Current Data Table(), i)[ header ];
Column( i ) << set Name( tableVal )
);
);
For Each( {table}, dt_list,
Current Data Table( table );
table_script;
);