취소
다음에 대한 결과 표시 
표시  만  | 다음에 대한 검색 
다음을 의미합니까? 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
언어 선택 변환 막대 숨기기
게시된 스레드 원본 보기

테이블 목록을 연결하고 "소스 열" 추가

ALopez
Level III

동일한 테이블 이름 목록에서 검색할 수 있는 새 "소스 열"을 연결하고 추가하려는 열린 테이블(이름) 목록이 있습니다. 나는 이전의 모든 "솔루션을 시도했습니다: 운 없이 이 토론 게시판에 게시됨(일부 운만 있음)

TXNelson에서 게시한 솔루션에 따라 연결된 테이블을 가져올 수 있지만 "소스 열"이 작동하도록 할 수 없는 것 같습니다.이 문제를 해결하는 데 도움을 주시면 감사하겠습니다.

tables = {"R1", "R2", "R3"};
TablesN ={};
For(k = 1, k <= n Rows ( Data Table(tables[i] )),k++, 
Insert Into(TablesN, Data Table (tables [i] ) << get name));
// the concatenation works like a charm
Data Table = New Table ("RST");
For( i = 1, i <= N Items( tables ), i++,
  Data Table( "RST" ) << Concatenate(
  Data Table( tables[i] ),
  append to first table(1)
 );
 //Close( Data Table( tables[i] ), No Save );
);
// this part fails
 data table( "RST" ) << add multiple columns("Source Table", 1, before first, character );
:Source Table << set values( TablesN );

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

1 채택된 솔루션

채택된 솔루션
ms
Super User (Alumni) ms
Super User (Alumni)

Re: 테이블 목록을 연결하고 "소스 열"을 추가합니다.

목록에 값이 있으면 마지막 부분이 작동합니다. 첫 번째 for 루프를 확인하십시오. 그것은 사용 케이 반복자이지만 루프 내부 나, 정의되지 않은 경우 목록 색인으로 사용됩니다.

 

다음을 사용하여 소스 열을 자동으로 생성할 수도 있습니다. 아래 예시와 같이 Concatenate() .

// Create a list of data tables
names = {"R1", "R2", "R3"};
tables = {};
For( i = 1, i <= N Items( names ), i++,
 Insert Into( tables, Data Table( names[i] ) )
);


// Concat all and create a source column in one step
dt = New Table( "RST" );
dt << concatenate( tables, append to first table( 1 ), create source column( 1 ) );
4 응답 4
ms
Super User (Alumni) ms
Super User (Alumni)

Re: 테이블 목록을 연결하고 "소스 열"을 추가합니다.

목록에 값이 있으면 마지막 부분이 작동합니다. 첫 번째 for 루프를 확인하십시오. 그것은 사용 케이 반복자이지만 루프 내부 나, 정의되지 않은 경우 목록 색인으로 사용됩니다.

 

다음을 사용하여 소스 열을 자동으로 생성할 수도 있습니다. 아래 예시와 같이 Concatenate() .

// Create a list of data tables
names = {"R1", "R2", "R3"};
tables = {};
For( i = 1, i <= N Items( names ), i++,
 Insert Into( tables, Data Table( names[i] ) )
);


// Concat all and create a source column in one step
dt = New Table( "RST" );
dt << concatenate( tables, append to first table( 1 ), create source column( 1 ) );

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

ALopez
Level III

Re: 테이블 목록을 연결하고 "소스 열"을 추가합니다.

안녕하세요 MS,

귀하의 코드를 테스트했습니다.

dt = New Table( "RST" );
dt << concatenate( tables, append to first table( 1 ), create source column( 1 ) );

연결할 테이블을 선택할 수 있는 팝업 창이 생성되어 프로세스를 자동화하는 스크립트를 생성하려는 목적을 상실합니다."테이블" 목록을 반복하지 않습니다.JMP 15를 사용하고 있습니다.
참고로 저를 안내하기 위해 사용했던 게시물입니다. 감사해요.
https://community.jmp.com/t5/Discussions/JSL-bug-Concatenate-all-opened-table-into-1-table-and-close-all/mp/275804

 

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

ms
Super User (Alumni) ms
Super User (Alumni)

Re: 테이블 목록을 연결하고 "소스 열"을 추가합니다.

목록 테이블 데이터 테이블 개체를 포함해야 하며(내 코드의 첫 부분은 이러한 목록을 만드는 한 가지 방법을 보여줍니다) 코드가 실행될 때 모든 테이블이 여전히 열려 있어야 합니다. 그렇지 않으면 pop-ip 창이 나타납니다.

코드가 실행된 후 목록에 있는 모든 (저장된) 데이터 테이블을 한 번에 닫을 수 있습니다. 테이블 << 창 닫기;.

 

 

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

ALopez
Level III

Re: 테이블 목록을 연결하고 "소스 열"을 추가합니다.

@ms - 네, 저는 물건이 아니라 "이름"을 가지고 있었습니다. 시간을 내어 도와주셔서 대단히 감사합니다.
친애하는,
알프레도

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.