取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
See how to use JMP Live to centralize and share reports within groups. Webinar with Q&A April 4, 2pm ET.
选择语言 隐藏翻译栏
查看原发布的话题

获取抑制评估的当前状态?

Chris_Rodrigues
Level III

我知道在 JSL 中,我可以更改各个列上的 Suppress Eval 标志,以防止评估该列的公式。这对于需要一段时间才能评估的复杂公式很有用。我可以评估一次并抑制它,但保持公式完整,以便我可以稍后返回并再次评估(如果需要)。

在某些情况下,当我执行遍历多列的操作时,我希望知道 Suppress Eval 标志的当前状态,而无需实际更改它。我找不到任何方法来提取此信息。我可以将值设置为 1 或 0,但无法切换它,也无法获取当前值。这可能吗?

Names Default To Here(1);
dt = Current Data Table();
col = Column(dt, "myColumn");
col << Suppress Eval(1);                  //suppresses formula eval
col << Suppress Eval(0);                  //un-suppresses formula eval

suppress_state = col << Suppress Eval;    //does not work as expected. sets suppress eval to 1.
Show(suppress_state);                     //prints "suppress_state = Scriptable[]" in the log.  current state not returned.

我还注意到,如果 Supress Eval 已设置为 1 并且执行“col << Supress Eval”行,则会显示以下警告:

带有空布尔参数的消息启用了已启用的选项。该选项保持启用状态。在以前的 JMP 版本中,这会禁用该选项。

因此在以前版本的 JMP 中可以切换此选项,但此功能已被删除。

我还查看了 Show Properties(col) 的输出,发现仅一处对 Supress Eval 的引用:

抑制求值 [布尔值] [仅限脚本]

所以这意味着它是一个接受布尔参数的函数,不返回值,并且只能通过脚本访问?有什么方法可以获取该值吗?

这篇帖子最初是用 English (US) 书写的,已做计算机翻译处理。当您回复时,文字也会被翻译成 English (US)。

1 个已接受解答

已接受的解答
txnelson
Super User

回复:获取 Suppress Eval 的当前状态?

我不知道获取它的直接方法,但是这段愚蠢的代码可以解决它;

suppresseval = contains(char(: <
2 条回复2
txnelson
Super User

回复:获取 Suppress Eval 的当前状态?

我不知道获取它的直接方法,但是这段愚蠢的代码可以解决它;

suppresseval = contains(char(: <

这篇帖子最初是用 English (US) 书写的,已做计算机翻译处理。当您回复时,文字也会被翻译成 English (US)。

Chris_Rodrigues
Level III

回复:获取 Suppress Eval 的当前状态?

这是一个聪明的方法。谢谢!

这篇帖子最初是用 English (US) 书写的,已做计算机翻译处理。当您回复时,文字也会被翻译成 English (US)。