你好,
我必须通过连接到数据库并运行长时间手动创建的 SQL 查询来定期更新 JMP 文件。 到目前为止,我使用的是“作为" 命令将数据库中的字段名称与 JMP 中列的简化名称进行匹配。 将数据导入临时 JMP 表后,我的脚本通过使用相同的短列名称与工作 JMP 文件进行联接来完成更新。
问题 1:我尝试使用 JMP 最新的 SQL 查询生成器(我相信从版本 11 开始可用)。 但除了手动编辑查询之外,我找不到管理“AS”命令的按钮,这大大降低了新构造函数的兴趣。 有更有效的方法吗?
问题2:有没有更适合我需求的方法? 如果我按原样将字段(不更改名称)导入到临时表中,是否有一种有效的方法来更新 JMP 表中的数据? 例如,在我的脚本中使用某种名称映射表?
注意:我选择不将更新的数据直接导入到我的 JMP 文件中,因为这些项目并不总是按相同的顺序排列,而且我会定期为派生数据创建新列。 否则,更新时会产生偏移。
感谢您的关注
克劳德·B.
一种选择可能是在查询结果中保留名称不变,然后使用具有旧名称和新名称的已保存数据表更新它们:
Names default to here(1);
//Open a saved jmp file with the old and new names (creating the table here instead of opening it...)
dtNames = New Table( "Names",
Add Rows( 4 ),
New Column( "old", Character, "Nominal",
Set Values( {"Sepal length", "Sepal width", "Petal length", "Petal width"} )
),
New Column( "new", Character, "Nominal",
Set Values( {"sl", "sw", "pl", "pw"} )
)
);
//Run database query using 'default' column names
dtQuery = Open("$Sample_data/iris.jmp");
//Update names in the query results
for each row( dtNames,
Column( dtQuery, :old ) << Set Name( :new )
);