JMP实时数据表刷新脚本(来自查询生成器)这是一个关于 JMP 实时数据表刷新脚本的问题。具体来说,是指那些使用查询构建器连接到 JMP 数据库并通过查询后脚本生成的源脚本。
@LuizaFabreti和我一直在尝试一些示例,但还不清楚 JMP Live 中的 PostQueryScript 中哪些内容会执行,哪些内容不会执行(哪些内容会被忽略)。
这两种情况下的 PostQueryScript 都添加了一个新的公式列,将两列(药品 ID 和描述)连接起来创建一个新列。
有人以前见过这种情况吗?求指点?
@dieterpisot
@Alex_Lippincott
回复:JMP实时数据表刷新脚本(来自查询生成器)据我所知,JMP Live 对 PostQueryScript 的处理方式与 JMP 并无不同。您是否尝试过在 JMP 中运行刷新脚本?它在那里是否有效?
回复:JMP实时数据表刷新脚本(来自查询生成器)此外,第二个和第三个脚本也出现了类似这样的错误:
Name Unresolved: New Formula Column in access or evaluation of 'New Formula Column' , New Formula Column(
Operation( Category( "Character" ), "Concatenate with Space" ),
Columns( :Drug ID, :Description )
) /*###*/
at line 1
Data Table( "Stability_Data_Stacked 2" )
回复:JMP实时数据表刷新脚本(来自查询生成器)我的经验也类似。有时候有效,有时候无效。`NewColumn()` 函数可以正常工作,但任何更复杂的操作我都建议在查询语句之外的 JSL 中完成。我不确定它应该支持哪些功能,但我发现查询后的脚本并不好用。
回复:JMP实时数据表刷新脚本(来自查询生成器)虽然我还没测试过,但有时候,在解释器执行完脚本的其余部分之前,你需要检查一下你创建并打算稍后使用的列是否已经创建。这通常是在引用表名、创建的列名以及其他操作(例如搜索和选择要操作的行)时容易出现的问题……
使用 wait() 或 wait(2) 函数或许有助于检查这是否是错误的原因。如果是,您可能需要修改代码结构;如果性能没有下降,则保留脚本中的 wait() 命令;考虑其他替代方案……
在 postquery 脚本中进行表操作比较困难,你可能希望在表创建完成后立即在刷新脚本中进行数据表管理,而不是在 fetch 本身中进行。
回复:JMP实时数据表刷新脚本(来自查询生成器)我已附上与以下内容相关的 .jmpquery 文件。它们都可以在 JMP 中正常运行。
我们有一篇关于巴尔的摩的探索性论文,我将在其中提出 Alex 的建议:在发布到 JMP Live 之前,将内容移到 Post-Query 脚本之外,或者在构建数据刷新脚本时从头开始(而不是依赖 Source Script)。
回复:JMP实时数据表刷新脚本(来自查询生成器)第二个 .jmpquery 文件上传遇到问题,如果您想试用,我很乐意通过电子邮件发送给您。
唯一的区别在于查询后脚本(在 JMP Live 中,列会被创建但不会被移动):
// 新增列:药品 ID、描述
数据表("稳定性数据堆叠") << 新列("药物 ID,描述",
特点,
“名义上的”,
Formula( Char( :Drug ID ) || " " || :Description )
) << 将选定列( {:"药品 ID, 描述"n}, 移至描述之后 ) <<
运行公式;
回复:JMP实时数据表刷新脚本(来自查询生成器)我认为 Martin 的猜测很有道理。这应该是某种时序问题。可能是 PostQueryScript 是异步运行的,SQL 查询在 PostQuery 完成之前就返回给了脚本。JMP Live 会话不知道需要等待,所以在 PostQuery 完成之前就返回了表。添加一个 wait() 函数来等待 PostQuery 完成可能是一个不错的解决方法。