안녕,
그래서 오늘 내 데이터 테이블에서 수식이 업데이트되지 않는 문제가 있습니다.
나는 측정의 무리가있는 큰 테이블이 있습니다. 데이터 테이블 변수에 포함된 사양을 평가하기 위해 수식이 있는 열을 설정하는 스크립트가 있습니다. 이러한 공식은 다음과 같은 방식으로 생성됩니다.
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";
)
)
))); 이러한 수식은 제대로 작동하지만 설정된 경우에만 평가됩니다. 열의 값을 변경하려고 하면 사양이 평가되지 않습니다. 열 속성을 확인했고 수식 평가가 활성화되었습니다. 수식이 다시 평가됩니다. 내가 선택한 다음 "수식 평가 억제"를 선택 취소합니다.
"열"을 "열로"로 바꾸고 []를 제거하여 이 스크립트를 수정하려고 했습니다. 이것은 문제를 해결하지 못했고 이러한 공식의 구현을 50% 느리게 만들었습니다.
동일한 템플릿으로 수식을 수동으로 설정하려고 시도했지만 실제 열 이름(:Column 대신 Column(expr(ColumnName))을 사용하여 올바르게 작동합니다. 예를 들어 열 중 하나에서 값을 변경할 때마다 수식이 평가됩니다. 곧.
그렇다면 세포를 수정할 때 강제로 재평가하는 방법이 있습니까? ** 빨간색 버튼을 클릭하지 않고 데이터 테이블의 모든 공식을 재평가하지 않음 **
또는 다른 해결 방법은 Eval(expr(column (columname))) 대신 실제 열 이름(예: :Column )을 쓰는 스크립트를 사용하는 것입니다.
그래서 다음과 같이 보입니다.

다음과 같이 보이는 대신:

어떤 아이디어?
테스트할 수는 없지만 이 접근 방식이 효과가 있을 수 있다고 생각합니다.
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
)
)
);