连接表列表并添加“源列”我有一个要连接的打开表(名称)列表,并添加了一个新的“源列”,可以从相同的表名称列表中检索该列表。 我尝试了所有以前的“解决方案:在此讨论板上发布,但没有运气(只有部分运气)”
我可以按照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));<BR />
// 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<BR />
data table( "RST" ) << add multiple columns("Source Table", 1, before first, character );
:Source Table << set values( TablesN );脚本编写回复:连接表列表并添加“源列”如果列表具有任何值,则最后一部分应该起作用。 查看第一个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 ) );
回复:连接表列表并添加“源列”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
回复:连接表列表并添加“源列”列表桌子必须包含数据表对象(我的代码的第一部分说明了创建此类列表的一种方法),并且在运行代码时必须仍然打开所有表。 否则,您将获得pop-ip窗口。
运行代码后,可以通过以下步骤一步关闭列表中的所有(保存的)数据表:表格<<关闭窗口;