데이터 테이블이 이미 열려 있는지 확인하는 방법은 무엇입니까?JMP 8 이전에는 다음과 같이 했습니다.
tableIsOpen = Function( {tname},
{dt, rv = 0},
Try(
dt = Data Table( tname );
rv = 1;
);
rv;
);
테이블이 아직 열려 있지 않으면 DataTable 함수가 파일 대화 상자를 열므로 JMP 버전 8에서는 작동하지 않습니다. 사용자는 언제든지 "취소"를 누를 수 있지만 귀찮습니다.
도움을 주셔서 감사합니다.
나사 돌리개
Re: 데이터 테이블이 이미 열려 있는지 확인하는 방법은 무엇입니까?코드를 보내주셔서 감사합니다. 지금 시험해보고 있어요.
열린 데이터 파일을 확인하는 더 간단한 방법이 있었으면 좋겠습니다.Re: 데이터 테이블이 이미 열려 있는지 확인하는 방법은 무엇입니까?Data Table()에 숫자를 전달하고 이름을 비교하여 열려 있는 모든 테이블을 반복할 수 있습니다.
tableIsOpen = Function( {tname},
{rv = 0, i},
For( i = 1, i < N Table() + 1 & rv == 0, i++,
If( Lowercase( Data Table( i ) << Get Name ) == Lowercase( tname ),
rv = 1
)
);
rv;
);
편집: "<=" 옵션 사용
tableIsOpen = Function( {tname},
{rv = 0, i},
For( i = 1, i <= N Table() & rv == 0, i++,
If( Lowercase( Data Table( i ) << Get Name ) == Lowercase( tname ),
rv = 1
)
);
rv;
);
(포럼 소프트웨어는 작거나 같음을 좋아하지 않기 때문에 일반 작음을 사용하고 1을 추가했습니다.)
Re: 데이터 테이블이 이미 열려 있는지 확인하는 방법은?코드 테스트 중에 스크립트 시작 부분에 남아 있는 열린 데이터 테이블을 세는 대신 닫는 비슷한 방법을 찾다가 이 스레드를 발견했습니다. 여기에 게시된 코드와 다른 스레드에 게시된 코드를 조합해서 사용했습니다. 혹시 이 스레드를 보시는 분들께 도움이 될까 싶어 글을 남깁니다.
// list of table names that I want to make sure are closed before running the script
tname = { "TABLE1", "TABLE2", "TABLE3", "TABLE4" };
// loop to see if open tables match the name in the list above, then close them
// need to restart the i counter to i = 0 because it seems closing a table changes the 'i' number associated with the table
For( i = 1, i <= N Table(), i++,
If( N Rows (Loc( tname, Data Table(i) << Get Name ) ) > 0,
Close(Data Table(i), no save);
i = 0;
)
);
Re: 데이터 테이블이 이미 열려 있는지 확인하는 방법은?Try() 함수를 사용하여 닫기를 단순화하겠습니다.
</CODE></PRE>
<PRE><CODE class=" language-jsl">Names Default To Here( 1 );
tname = {"TABLE1", "TABLE2", "TABLE3", "TABLE4"};
For Each( {dt}, tname,
Try( Close( data table( dt ), nosave ) )
);