[JSL 버그] 열려 있는 모든 테이블을 1개의 테이블로 연결하고 모두 닫습니다.누군가 jsl을 살펴보도록 도와줄 수 있습니까?
열려 있는 모든 테이블을 단일 테이블로 연결하고 열려 있는 모든 테이블을 닫고 모든 테이블에서 연결된 최종 테이블만 남겨두는 데 사용하려고 합니다.
jsl을 실행할 때 여러 "최종" 테이블을 재생성하고 하나의 단일 테이블로 연결하지 않는 버그가 있습니다.
버그가 어디에서 왔는지 명확하지 않습니다.
감사
Clear Globals();
// Create your Tables list
Tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( Tables, Data Table( i ) << get name )
);
// Run the concatinations
For( i = 1, i < N Items( Tables ), i++,
ConcTable = Data Table( Tables[i] ) << Concatenate(
Data Table( Tables[i + 1] ),
Create source column,
Output Table Name( "final" )
);
Close( Data Table( Tables[i] ), No Save );
);
스크립팅Re: [JSL 버그] 열려 있는 모든 테이블을 1개의 테이블로 연결하고 모두 닫습니다.정말 감사합니다! 이것은 내가 찾고있는 것입니다Re: [JSL 버그] 열려 있는 모든 테이블을 1개의 테이블로 연결하고 모두 닫습니다.훌륭합니다. Jim에게 감사합니다.
Re: [JSL 버그] 열려 있는 모든 테이블을 1개의 테이블로 연결하고 모두 닫습니다.죄송합니다 짐 @txnelson , 나는 당신의 응답을 보지 못했습니다.
Re: [JSL 버그] 열려 있는 모든 테이블을 1개의 테이블로 연결하고 모두 닫습니다.@스토크스 ,
게시한 스크립트는 많은 새 테이블을 생성하고 있습니다.커뮤니티 참고 사항: 데이터 탭 목록을 닫는 구문이 있는지 모르겠습니다. 따라서 For 루프는 소스 테이블을 번호가 아닌 이름으로 한 번에 하나씩 닫는 데 사용됩니다.
Names Default to Here(1);
//Careful, this closes all data tables
close all(Data Tables);
//now create similar looking tables
dt = Open("$Sample_Data/Big Class.jmp");
dt << Subset( By (:age));
//close Big Class, keep all the age subset tables open
close(dt,NoSave);
// Create your Tables list
nt = N Table();
Tables = {};
For( i = 1, i <= nt, i++,
Insert Into( Tables, Eval Expr( Data Table( Expr( Data Table( i ) << get name ) ) ) )
);
final = Concatenate( Tables, Create Source Column, Output Table Name( "Big Class Redux" ) );
//close all in the list
For( i = 1, i <= nt, i++,
Eval( Eval Expr( Close( Expr( Tables[i] ), NoSave ) ) )
);
Re: [JSL 버그] 열려 있는 모든 테이블을 1개의 테이블로 연결하고 모두 닫습니다.소스 테이블 열을 원하지 않는 경우 원하는 작업을 수행하는 것은 매우 간단합니다.
Names Default To Here( 1 );
Clear Globals();
// Create your Tables list
Tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( Tables, Data Table( i ) << get name );
);
new Table("all data");
// Run the concatinations
For( i = 1, i <= N Items( Tables ), i++,
Data Table( "all data" ) << Concatenate(
Data Table( Tables[i] ),
append to first table(1)
);
Close( Data Table( Tables[i] ), No Save );
);
소스 테이블을 원하면 더 복잡해집니다."소스 열 만들기"의 기본 제공 옵션을 사용하면 수행하는 각 연결에 대해 새 소스 테이블 열이 생성됩니다.따라서 약간의 조정이 필요합니다.아래는 원하는 것을 제공해야 하는 작업 스크립트입니다.
Names Default To Here( 1 );
Clear Globals();
// Create your Tables list
Tables = {};
TablesN = {};
For( i = 1, i <= N Table(), i++,
Insert Into( Tables, Data Table( i ) << get name );
for(k=1,k<=n rows(data table(i)),k++, insert into(TablesN,data table( i ) << get name));
);
new Table("all data");
// Run the concatinations
For( i = 1, i <= N Items( Tables ), i++,
Data Table( "all data" ) << Concatenate(
Data Table( Tables[i] ),
append to first table(1)
);
Close( Data Table( Tables[i] ), No Save );
);
data table( "all data" ) << add multiple columns("Source Table", 1, before first, character );
:Source Table << set values( TablesN );