여러 DataTable 열기<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />그래서 사용자가 특정 수의 데이터 테이블을 지정하면 사용자가 해당 테이블을 선택할 수 있다는 메시지를 표시하는 애플리케이션을 만들고 싶습니다. 또한 각 테이블에 열을 추가하고 싶습니다. 저는 아직 jmp/jsl을 처음 접했지만 아래에는 물론 작동하지 않는 스크립트가 있습니다. 어떤 도움이라도 주시면 감사하겠습니다.
새 창("데이터 테이블 수",
<<모달,
텍스트 상자( "데이터 테이블 수" ),
Variablebox = 숫자 편집 상자(),
버튼 상자( "확인" ),
버튼 상자( "취소" )
);
N = 변수박스 << get;
For( i = 1, i <= N 항목( dt ), i++,
dt = 공개()
이름의 기본값은 여기에 있습니다(1);
dt=현재 데이터 테이블(i);
dt << New Column("ColumnA", 숫자, 연속, Format("최고", 5));
dt << New Column("ColumnB", 숫자, 연속, Format("최고", 5));
);
추신: 추가 열을 추가하기 위한 스크립트가 어떻게든 For 루프에 들어가야 한다는 것을 알고 있지만 데이터 테이블을 열 수 있다면 어떻게 열을 추가할 수 있습니까?
PM로즈 조던힐러@jmp 크리스.키르히베르그 CH필드 마크베일리
Re: 여러 DataTable 열기오 와, 효과가 있구나. 감사해요!!!
Re: 여러 DataTable 열기물론! 나를 바로잡아줘서 고마워요, 멜라니. . .
이 스레드를 읽는 사람은 (코드의 주석과 달리) "multiple" 키워드가 OS/X 및 Windows에서 존중된다는 점에 유의해야 합니다.
Re: 여러 DataTable 열기PickFile()에 대한 다중 인수는 부울이 아닌 키워드입니다. 이 시도:
파일 선택 (
"여러 파일 중 하나를 선택하세요" , // 즉각적인
"$샘플_데이터" , // 초기 폴더
{ "JMP 파일|jmp;jsl;jrn" , "모든 파일|*" } , // 적용할 파일 필터 목록(OS/X에서는 무시됨)
1 , // 적용할 초기 파일 필터(위 목록에 있는 항목의 인덱스)
0 , // 저장 플래그 - '저장' 또는 '열기' 창을 지정합니다. 각각 1 또는 0의 값을 설정합니다.
비어 있는 () , // 기본 파일
"다수의" // 다중 - '저장 플래그' = 0인 경우 값 1을 사용하면 둘 이상의 파일을 열 수 있습니다(OS/X에서는 무시됨).
) ;
다중 인수를 사용하려면 이전 인수를 모두 지정해야 합니다. 예를 들어 2개의 플래그와 기본 파일을 생략할 수 없습니다.
Re: 여러 DataTable 열기흠. R&D에 물어보겠습니다. 그게 효과가 있을 것 같거든요.
가능하다면 항상 내장 함수를 사용하는 것이 가장 좋지만, 항상 다음과 같이 할 수 있습니다:
이름DefaultTo여기 ( 1 ) ;
디렉토리 = PickDirectory ( "파일이 포함된 폴더로 이동하세요" , "$데스크탑" ) ;
뉴 = 새창 ( "여러 파일 열기" ,
패널박스 ( "하나 이상의 파일을 선택하세요" ,
파운드 = 리스트 박스 ( 파일인디렉토리 ( 디렉토리 )) ,
라인업박스 ( NCol ( 2 ) ,
버튼박스 ( "좋아요" , OK스크립트 ) ,
버튼박스 ( "취소" , 뉴 << 닫기창 )
)
)
) ;
OK스크립트 =
만료 (
뉴 << 닫기창 ;
파일 = 파운드 << 선택됨 ;
을 위한 ( 에프 = 1 , 에프 <= N항목 ( 파일 ) , 에프 ++, 열려 있는 ( 디렉토리 || "/" || 파일 [ 에프 ])) ;
) ;
Re: 여러 DataTable 열기Ian님, 정말 도움이 되었습니다. 위의 코드를 테스트했는데 Windows에서도 작동합니다. 또한 코드를 편집하고 작업에 통합할 수도 있었습니다. 하지만 한 번에 하나의 파일만 열 수 있습니다. 귀하의 설명에 따르면 파일 선택 기능에 후자 1을 추가하면 여러 파일을 열 수 있지만 내 컴퓨터에서는 작동하지 않습니다(그런데 창).동시에 여러 파일을 열 수 있도록 이 문제를 해결하는 방법이 있습니까? 감사해요
Re: 여러 DataTable 열기이제 귀하의 질문은 열 파일 선택에 관한 것임을 이해합니다. . .
'PickFile()'은 이미 필요한 작업을 수행할 만큼 충분히 유연할 수 있는 것 같습니다('도움말 > 스크립팅 색인' 참조).
운영 체제와 상호 작용해야 하는 한 Windows와 OS/X 사이에 약간의 차이가 있을 것으로 예상할 수 있으며 여기도 그런 것 같습니다. 하지만 불행하게도 아래 코드를 테스트할 Windows 시스템이 없습니다. 또한 다중 선택에 대해 'PickFile()'이 실제로 목록을 반환한다고 가정합니다.
이름의 기본값은 여기에 있습니다. ( 1 ) ;
// 'PickFile()'을 사용하여 열려는 파일 목록 가져오기(Windows에만 해당)
파일 목록 =
파일 선택 (
"여러 파일 중 하나를 선택하세요" , // 즉각적인
"$데스크탑" , // 초기 폴더
{ "JMP 파일|jmp;jsl;jrn" , "모든 파일|*" } , // 적용할 파일 필터 목록(OS/X에서는 무시됨)
1 , // 적용할 초기 파일 필터(위 목록에 있는 항목의 인덱스)
0 , // 저장 플래그 - '저장' 또는 '열기' 창을 지정합니다. 각각 1 또는 0의 값을 설정합니다.
비어 있는 () , // 기본 파일
1 // 다중 - '저장 플래그' = 0인 경우 값 1을 사용하면 둘 이상의 파일을 열 수 있습니다(OS/X에서는 무시됨).
) ;
// 단일 파일만 선택한 경우 fileList는 목록이 아니므로 직접 빌드해야 합니다.
만약에 ( ! IsList ( 파일 목록 ) , 파일 목록 = 평가 목록 ({ 파일 목록 })) ;
// 파일을 열고 해당 JMP 테이블 이름을 저장합니다.
테이블 이름 = {} ;
~을 위한 ( 에프 = 1 , 에프 <= N항목 ( 파일 목록 ) , 에프 ++,
dt = 열려 있는 ( 파일 목록 [ 에프 ]) ;
에 집어 넣다 ( 테이블 이름 , dt << getName ) ;
) ;
Re: 여러 DataTable 열기안녕하세요 이안님,
피드백 감사드립니다. 더 나은 설명을 위해 최선을 다하겠습니다. 사용자에게 열려는 데이터 테이블의 수를 묻고, 이전에 요청한 숫자에 해당하는 열 테이블을 선택하라는 메시지를 사용자에게 묻는 스크립트를 원합니다.알고리즘은 다음과 같습니다.
- 스크립트 실행
- 사용자는 얼마나 많은 데이터 테이블을 열어야 하는지 묻습니다(모달 창을 사용하면 작업이 더 쉬워집니다). 예: 사용자 유형은 다음과 같습니다. 삼
- 그런 다음 사용자는 선호하는 3개의 데이터 테이블을 선택하라는 메시지를 받습니다.
- 3개의 데이터 테이블 각각에 "열 A"와 "열 B"를 추가합니다.
이것이 문제를 더 명확하게 하는 데 도움이 되기를 바랍니다. 다시 한번 감사합니다!
Re: 여러 DataTable 열기당신이 추구하는 바에 대해 좀 더 자세히 설명해야 할 것 같습니다.
첫 번째 단계에서 열려는 테이블을 선택하는 대신 열려 있는 테이블에서 선택을 허용한다고 가정하고 다음을 살펴보세요.
이름DefaultTo여기 ( 1 ) ;
// 세션에 열려 있는 테이블을 표시하고 사용자가 일부 테이블을 선택할 수 있도록 합니다.
오픈테이블 = {} ;
을 위한 ( 티 = 1 , 티 <= 엔테이블 () , 티 ++, 에 집어 넣다 ( 오픈테이블 , 데이터테이블 ( 티 ) << getName )) ;
뉴 =
새창 ( "필요한 테이블을 선택하세요" ,
파운드 = 리스트 박스 ( 오픈테이블 ) ,
라인업박스 ( NCol ( 2 ) , 버튼박스 ( "좋아요" , OK스크립트 ) , 버튼박스 ( "취소" , 뉴 << 닫기창 ))
) ;
// 선택한 테이블에 대해 작업 수행(이 경우 인쇄만)
OK스크립트 =
만료 (
뉴 << 창 닫기 ;
선택된테이블 = 파운드 << 선택됨 ;
로그 지우기 () ;
만약에 ( N항목 ( 선택된테이블 ) > 0 ,
을 위한 ( 티 = 1 , 티 <= N항목 ( 선택된테이블 ) , 티 ++,
인쇄 ( "테이블 " || 선택된테이블 [ 티 ] || "선택했습니다." )
) ,
인쇄 ( "선택된 테이블이 없습니다." )
) ;
) ;