資料表中的公式不重新計算你好,
所以今天我遇到了公式未在數據表中更新的問題。
我有一張大桌子,上面有一堆測量數據。 有一個腳本使用公式設定列來評估資料表變數中包含的規範。 這些公式是透過以下方式產生的:
Eval( Eval Expr(Column(Concat(columnName," Spec"))<< Set Formula(
If( Column(expr(columnName))[]>Expr(USL),
Column(expr(Concat(expr(columnName)," Spec")))[]="High",
If( Column(expr(columnName))[]<EXPR></EXPR>Column(expr(Concat(expr(columnName)," Spec")))[]="OK";
)
)
))); 這些公式運作良好,但它們僅在設定時才進行計算。 當我嘗試更改列中的值時,不會評估規格。 我檢查了列屬性並啟用了公式評估。 我檢查公式並重新評估,然後取消選取「抑制公式評估」。
我嘗試透過將“Columns”替換為“As Columns”並刪除 [] 來修改此腳本。 這並沒有解決問題,而且使這些公式的執行速度慢了 50%。
我嘗試使用相同的模板手動設定公式,但使用實際的列名稱(:Column 而不是Column (expr (ColumnName )),並且它們確實可以正常工作。例如,每當我更改其中一列中的值時,都會對公式進行求值馬上。
那麼,有沒有辦法在修改儲存格時強制重新評估呢? ** 請勿點選紅色按鈕並重新評估資料表的所有公式 **
或者,也許另一種解決方法是使用一個腳本來寫入實際的列名(例如 :Column ),而不是使用 Eval(expr(column (columname)))。
所以它看起來像這樣:

而不是看起來像這樣:

有任何想法嗎 ?
大規模客製化品質和工藝工程回覆:數據表中的公式未重新計算我無法測試它,但我認為這種方法可能有效:
Eval(
Substitute(
Expr(
nnn << Set Formula(
If(
ccc > uuu,
"High",
ccc < lll,
"Low",
"OK"
)
)
),
Expr( nnn ), Column( Concat( columnName, " Spec" ) ),
Expr( ccc ), Column( columnName ),
Expr( lll ), LSL,
Expr( uuu ), USL
)
)
);