回复:[JSL 错误] 将所有打开的表连接成 1 个表并关闭所有多谢!这就是我要找的回复:[JSL 错误] 将所有打开的表连接成 1 个表并关闭所有这太棒了,谢谢吉姆。
回复:[JSL 错误] 将所有打开的表连接成 1 个表并关闭所有哎呀,对不起吉姆, @txnelson ,没看到你的回复。
回复:[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 ) ) )
);
回复:[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 );[JSL bug] 将所有打开的表连接成 1 个表并关闭所有有人可以帮我看看下面的jsl吗?
我试图使用它将所有打开的表连接成一个表,并关闭所有打开的表,只留下一个由所有打开的表连接而成的最终表。
当我运行 jsl 时,它有一个错误,会重新生成多个“最终”表,而不是连接成 1 个表。
不清楚 bug 从哪里来。
谢谢
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 );
);
消费者和市场研究