使用通用脚本连接不同的表你好,
我知道我们可以在表格标题下轻松连接表格,但我正在尝试开发一个无需指定列名即可连接表格的脚本。
我有三个数据表。前两列始终相同,但其他列的名称可以更改。情况会变得更加复杂,因为对于不同的批次,我可以使用相同的三个数据表,但前两列的名称可能会更改。因此,我尝试使用前两列的位置作为连接列来连接这三个表,并将其他列一起添加到一个大数据表中。
我尝试使用变量或列位置,但不起作用。我也尝试了 New SQL Query() 函数,但我认为它也必须指定列。
有谁知道如何开发一个通用脚本,可以简单地将三个不同的表合并为一个?
数据混合和清理回复:使用通用脚本连接不同的表最简单的方法是编写一个脚本,将列重命名为相同的名称,但也可以编写一个脚本来使用不同的列名。
回复:使用通用脚本连接不同的表有没有办法让脚本变得“通用”?这样就不必在脚本中指定列名了?
也许脚本可以从数据本身获取列名?
回复:使用通用脚本连接不同的表我弄清楚了剧本:
dt = {数据表(“X”),数据表(“Y”),数据表(“Z”)};
// 以第一个表为基础
连接DT = dt[1];
// 依次将剩余的每个表连接到累积结果
对于(i = 2,i <= N 个项目(dt),i ++,
tmpDT = joinedDT << 加入(
使用(responseTables[i]),
删除倍数(1,1),
包括不匹配项(0,0),
合并同名列,
保留主表顺序(1)
(此处似有缺失,无法翻译);
// 重命名中间表
tmpDT << 设置名称("中间数据表");
// 将 joinedDT 替换为新连接的表,以便进行下一次迭代
连接DT = tmpDT;
(此处似有缺失,无法翻译);
我希望脚本索引中有更多关于 Join 函数这一部分的信息:
删除倍数(1,1),
包括不匹配项(0,0),
合并同名列,
保留主表顺序(1)
我必须反复尝试才能弄清楚!
回复:使用通用脚本连接不同的表在 JMP 中以交互方式操作通常是学习这类知识的方法。你可以从“脚本索引”页面前往“帮助”页面,那里有更多解释:使用 JMP > 重塑数据 > 连接数据表
回复:使用通用脚本连接不同的表谢谢,我不知道它会直接跳转到支持页面。这很有用,但是它没有脚本的说明。这正是我想要的,因为我想编写一个脚本来构建一个可以自动执行此操作的插件。
回复:使用通用脚本连接不同的表JSL 语法参考有时比脚本指南打开的帮助页面更好(有时它确实引用了 JSL 语法参考)
JSL 语法参考 > JSL 消息 > 数据表消息并查找 <

您可以从JMP 文档中找到 JSL 语法参考的 .pdf 版本(我更喜欢 JMP 帮助的搜索是其他内容......)。
此外,帮助页面确实解释了这些选项,但从平台帮助页面完全理解它可能有点困难:
Drop Multiples(1,1),

Include Nonmatches(0,0),

合并同名列,

Preserve Main Table Order(1)

一般来说,反复试验(或让 JMP 为您编写脚本)是开始学习 JSL 的好方法。
回复:使用通用脚本连接不同的表这非常有帮助,非常感谢您为我指明正确的方向!