在抑制评估和评估公式方面需要帮助这里有几个我不明白的问题:
- 为什么在建立公式时有时会自动打开Suppress Eval?
- 启用(偶然或其他方式)后,如何在不手动逐列关闭抑制(或标准化属性)的情况下重新计算公式?
- 我在数据表热点中找到了“抑制公式评估”和“重新运行公式”,但是一旦手动启用了“抑制”功能,这些似乎就不起作用了。
- 在JSL中,如何进行这项工作?(使用dt <<抑制Eval(0)和dt <<重新运行公式,或通过指定特定列来限制成功)。
我要附加一个非常简单的数据表,其中包含2个抑制的列。 我究竟做错了什么??
回复:需要抑制评估和评估公式的帮助Tables-> Sort也具有Supress Eval选项。
回复:需要抑制评估和评估公式的帮助谢谢杰夫!实际上,这可能是客户“意外压制”问题的根源。 我会过去的。
回复:需要抑制评估和评估公式的帮助除了构建公式时可能导致提示抑制评估的错误外,最常见的列设置抑制评估的方法是通过“表”菜单。
Tables-> Subset有一个默认情况下为禁止评估的选项。

Stack和Join具有类似的选项。
回复:需要抑制评估和评估公式的帮助谢谢杰里!
回复:需要抑制评估和评估公式的帮助谢谢布雷迪!像往常一样,细节决定成败。 我没有意识到的细微差别。
因此,如果我理解正确,则需要单独清除各个列抑制。 数据表抑制是不同的,并且已从数据表级别清除。
仅供参考,这是来自客户的要求。 他有一些单独的列将被设置为Suppress Eval(以某种方式),然后将不会更新。 他正在寻找一个简单的“全部重新计算”按钮。 认为有一天会添加一个有用的功能吗?
回复:需要抑制评估和评估公式的帮助我应该更清楚地了解dt =当前数据table()。
如果您编写脚本
dt =当前数据表;
代替
dt =当前数据表();
dt不会绑定到数据表句柄... 它将通过“当前数据表”的名称绑定到变量的任何值。几乎可以肯定,此变量将是未定义的。
因此,在这种情况下,发送到dt的数据表消息将置若de闻。仅此一项就足以导致原始脚本失败。
回复:需要抑制评估和评估公式的帮助我唯一要添加的是它看起来像一列将接受以下任何一种:抑制Eval(0 | 1)或抑制公式Eval(0 | 1),而表仅响应抑制公式Eval(0 | 1)。这可能可以解释您看到的“有限成功”或不一致之处。同样,列设置胜于表设置。
回复:需要抑制评估和评估公式的帮助我没有提到1)和2)。
1)当列公式引发错误时,将提示用户。一种选择是抑制评估。
2)除了您在问题中提到的方法外,我不知道如何关闭抑制功能... 这些是我一直在使用的方法。我很少遇到压抑。基本上,仅当我在公式中有错误并且要进行故障排除时。
回复:需要抑制评估和评估公式的帮助嗨,杰里,
当前数据Table()之后需要括号,因为它是一个函数,接受0个参数并返回当前表的句柄。
我并没有使用太多,但据我所知,似乎有两个抑制级别,表级别和列级别。要清除列级抑制,请使用以下内容。
请注意,消息是不同的... 列使用<< <<抑制eval(0 | 1),表使用<< <<抑制公式eval(0 | 1)
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Col( dt ), i++,
Column( dt, i ) << suppress eval( 0 )
);
要清除表级抑制,请使用:
dt << Suppress Formula Eval(0);
dt << Rerun Formulas;
这些在您提供的桌子上为我工作,但是我没有对它们进行其他测试,因此,如果有人有任何要添加/更正的内容,请输入。
干杯,
布雷迪