回复:消息未知出现在有效的 JSL 代码中我喜欢拥有启用“颜色未知对象消息”:

然后我可以快速检查对象是否已初始化。
但有时,消息被标记为红色,尽管它们是“已知的”。
几分钟后,Jmp 更正了错误。
示例:dt 被称为数据表 - 几分钟后,Jmp 将知道它可以发送开始数据更新到数据表。
为什么是开始数据表标记为未知?

回复:消息未知出现在有效的 JSL 代码中就是这样。 我一定是在尝试创建深色模式主题时无意中启用了“颜色未知对象消息”。
回复:消息未知出现在有效的 JSL 代码中看起来您打开了“颜色未知对象消息”首选项。 您可以在“脚本编辑器”首选项组的“JSL 格式”组框中找到此设置。在运行脚本之前,尚未分配 albumTable 变量,因此 jmp 不会主动将对象消息标记为未知。当脚本运行时,albumTable 被设置为一个表,然后该表被关闭。此时 jmp 可以更好地确定哪些消息有效,并且由于关闭的表无法处理“删除行”消息,因此该消息将被标记为红色。由于评估对象和消息可能非常耗时,JMP 不会在每次更改变量时重新检查每个脚本,因此您可能需要重新格式化脚本或编辑包含消息的行以查看颜色更新。
回复:消息未知出现在有效的 JSL 代码中
@Jeff_Perkinson写道:
这真的很奇怪。 我以前从没见过。 您运行的是什么版本的 JMP?
同上。 正如我所说,直到几个月前我才遇到过这个问题。 这真的很奇怪。 前段时间我确实尝试过为 JSL 创建暗模式主题,但最终又回到了默认设置,因为我不太了解样式列表中的所有项目在 JSL 中的关联。 我对色彩科学的了解足以让我对选择互补但也非常适合整体主题的颜色非常**,这无济于事;我现在没有那么多空闲时间。 :皱着眉头:
我正在运行 JMP 14.3。 由于我是我们公司的 JMP 管理员,所以我特别注意让 JMP 用户保持最新状态。
回复:消息未知出现在有效的 JSL 代码中现在我明白你在描述什么了。 该图片有助于解释脚本编辑器中的颜色编码没有正确地为有效消息着色。 相反,它将它们着色为红色,因为默认偏好禁止消息未知.

这真的很奇怪。 我以前从没见过。 您运行的是什么版本的 JMP?
回复:消息未知出现在有效的 JSL 代码中
@Craige_Hales写道:
还:未知是 JMP 在发生 JMP 没有准备好的情况时使用的简洁错误消息。 您可以一次运行 JSL 一条语句,查看日志以隔离问题。 JMP 尝试在解析和执行 JSL 时诊断错误;如果 JMP 在没有计划错误的情况下捕捉到错误,则 JMP 只能说未知.
如果您可以发布一个独立的示例,JMP 可能会为下一个找到它的人提供更好的信息。将示例发送给技术支持将确保它得到跟踪。
一旦问题行已知并且您可以研究变量中的值(将它们打印到日志中),问题可能会更加明显。 它可能是缺失值或需要数字数据的字符数据,或者它可能是交换函数调用的两个参数,或者使用太大或太小的表行,或者其他。 所有这些都应该比未知.
如果我没有遗漏您要中继的内容,那么您似乎指的是消息窗口或调试器报告的错误。 我得到的标志在代码中。 根据 JSL 的默认颜色编码,红色关键字表示错误或未知消息。 由于我在保存脚本时没有收到错误消息并且它运行没有问题,所以唯一剩下的可能性是红色的关键字是未知消息。
回复:消息未知出现在有效的 JSL 代码中当代码被添加到带有 JSL 标签的帖子时,突出显示不会出现,所以这里是带有标志的代码的屏幕截图。

正如我在我的原始帖子中所述,该脚本确实按预期工作,但许多行都有标记为未知消息的保留字这一事实让我认为还有另一个潜在的问题。 我已经使用 JSL 几年了,直到最近几个月我才收到这些未知的消息标志。 现在我想起来了,这可能是在将我的 JMP 安装更新到 14.3 之后开始的。
gzmorgan0 写道:
albumTable << 删除行(N行());这个 JSL 的目的是什么?
该行代码删除了数据表中不是专辑数据的最后一行。
gzmorgan0 写道:
所有使用数据过滤器的代码都很混乱。 只需使用
artistCategoryTable <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> select where</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">:</SPAN>Artist<SPAN class="token operator">==</SPAN><SPAN class="token string">""</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
artistCategoryTable <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> delete rows</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
我在脚本中的过滤代码是在我手动执行该过程时由 JMP 生成的。 虽然我已经使用 JSL 大约 5 年了,但我绝不是专家,因为我的工作量如此之大,以至于我几乎没有时间学习任何新东西,更不用说掌握它了,所以我很少完全从头开始生成脚本. 最重要的是,我现在需要学习 R,因为我们的一位客户使用 R 并坚持我们也这样做。
回复:消息未知出现在有效的 JSL 代码中编辑:在下面的附加解释后忽略此回复...谢谢杰夫!
还:未知是 JMP 在发生 JMP 没有准备好的情况时使用的简洁错误消息。 您可以一次运行 JSL 一条语句,查看日志以隔离问题。 JMP 尝试在解析和执行 JSL 时诊断错误;如果 JMP 在没有计划错误的情况下捕捉到错误,则 JMP 只能说未知.
如果您可以发布一个独立的示例,JMP 可能会为下一个找到它的人提供更好的信息。将示例发送给技术支持将确保它得到跟踪。
一旦问题行已知并且您可以研究变量中的值(将它们打印到日志中),问题可能会更加明显。 它可能是缺失值或需要数字数据的字符数据,或者它可能是交换函数调用的两个参数,或者使用太大或太小的表行,或者其他。 所有这些都应该比未知.
@EvanMcCorkle @Audrey_Shull
回复:消息未知出现在有效的 JSL 代码中@mdawson69 ,
突出显示了 JSL 的哪些行? 有几行 JSL 令人困惑:
没有更多细节,我不明白你的问题。
有效 JSL 代码中出现消息未知最近,我注意到 JSL 正在报告有效代码的未知消息。 以下是最新示例(突出显示未知消息):
Names Default to Here(1);
Delete Symbols();
databaseFile = Pick File(
"Select Music Collection File",
"$DOCUMENTS",
{"Music Collection|csv"},
1,
0
);
albumTable = Open(databaseFile);
albumTable << <FONT color="#FF0000">Delete Rows</FONT>(N Rows());
:Name("Artist/Album") << Set Name("Title");
:Single 2 << Set Name("CD Single");
:LP << Value Labels({0 = "False", 1 = "True"});
:EP << Value Labels({0 = "False", 1 = "True"});
:Single << Value Labels({0 = "False", 1 = "True"});
:Album << Value Labels({0 = "False", 1 = "True"});
:CD Single << Value Labels({0 = "False", 1 = "True"});
:Want << Value Labels({0 = "False", 1 = "True"});
albumTable << <FONT color="#FF0000">New Column</FONT>(
"Artist Block",
Character,
Formula(If(:Format == "", :Title))
);
albumTable << <FONT color="#FF0000">New Column</FONT>(
"Artist",
Character,
Formula(
If(Row() != 1,
If(:Artist Block == "",
Lag(:Artist, 1),
:Artist Block
),
:Artist Block
)
)
);
albumTable << <FONT color="#FF0000">Move Selected Columns</FONT>({"Artist"}, To First);
tableName = albumTable << <FONT color="#FF0000">Get Name</FONT>();
artistCategoryTable = albumTable << <FONT color="#FF0000">Subset</FONT>(
Output Table("Artist Category " || tableName),
Copy Formula(0),
All Rows,
Selected Columns Only(0)
);
Close(albumTable, NoSave);
artistRowFilter = artistCategoryTable << <FONT color="#FF0000">Data Filter</FONT>(
Mode(Include(1)),
Inverse(1),
Add Filter(
Columns(:Artist Block),
Where(:Artist Block == "")
),
Invisible
);
artistCategoryTable << <FONT color="#FF0000">Delete Rows</FONT>;
artistCategoryTable << <FONT color="#FF0000">Delete Columns</FONT>(:Artist Block);
artistRowFilter << <FONT color="#FF0000">Clear</FONT>;
artistRowFilter << <FONT color="#FF0000">Delete</FONT>;与我在其他脚本中看到的颜色编码一样,该脚本运行没有问题。 关于为什么有效的 JSL 消息被标记为未知有什么想法吗?
自动化和脚本编写