在抑制評估和評估公式方面需要幫助這裡有幾個我不明白的問題:
- 為什麼在建立公式時有時會自動打開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;
這些在您提供的桌子上對我有用,但是我沒有對它們進行其他測試,因此,如果有人要添加/更正任何內容,請發出提示。
乾杯,
布雷迪