连接表列表并添加“源列”我有一个打开的表(名称)列表,我想要连接并添加一个新的“源列”,可以从同一表名称列表中检索该“源列”。 我已经尝试了所有以前的“解决方案:在此讨论板上发布但没有运气(只有部分运气)
我可以按照 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 );高级统计建模数据存取数据混合和清理大规模定制质量和工艺工程分享和交流结果回复:连接表列表并添加“源列”@多发性硬化症- 是的,我有“名字”而不是物体。 非常感谢您抽出时间来帮助我。
此致,
阿尔弗雷多回复:连接表列表并添加“源列”列表桌子必须包含数据表对象(我的代码的第一部分说明了创建此类列表的一种方法),并且在运行代码时所有表必须仍然打开。 否则你会看到弹出的 ip 窗口。
代码运行后,您可以一步关闭列表中的所有(已保存)数据表:表<<关闭窗口;。
回复:连接表列表并添加“源列”嗨女士,
我测试了你的代码:
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
回复:连接表列表并添加“源列”如果列表有任何值,最后一部分应该起作用。 查看第一个 for 循环;它用k作为迭代器但在循环内我,未定义,用作列表索引。
还可以使用以下命令自动创建源列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 ) );