Eval 및 Eval Formula 억제에 도움이 필요합니다이해하지 못하는 몇 가지 질문이 있습니다.
- 수식을 작성할 때 Suppress Eval이 자동으로 켜지는 이유는 무엇입니까?
- 실수로 또는 다르게 설정 한 경우 열별로 수동으로 억제를 해제하지 않고 수식을 다시 평가하거나 특성을 표준화하려면 어떻게해야합니까?
- 데이터 테이블 핫스팟에서 Suppress Formula Eval 및 Rerun Formulas를 찾았지만, 일단 Suppression을 수동으로 설정하면 작동하지 않는 것 같습니다.
- JSL에서 어떻게 작동합니까? (dt << Suppress Eval (0) 및 dt << Rerun Formulas를 사용하거나 특정 열을 지정하여 제한적인 성공).
2 개의 억제 된 열이있는 매우 간단한 데이터 테이블을 첨부하고 있습니다. 내가 무엇을 잘못하고 있지??
Re : Eval 및 Eval Formula 억제에 도움이 필요합니다Tables-> Sort에는 Supress Eval 옵션도 있습니다.
Re : Eval 및 Eval Formula 억제에 도움이 필요합니다고마워 제프! 이것은 실제로 클라이언트의 "사고 억제"문제의 원인 일 수 있습니다. 함께 전달하겠습니다.
Re : Eval 및 Eval Formula 억제에 도움이 필요합니다계산을 억제하라는 메시지를 표시하는 수식을 작성할 때 실수를 제외하고 열이 평가를 억제하도록 설정하는 가장 일반적인 방법은 테이블 메뉴를 사용하는 것입니다.
Tables-> Subset에는 기본적으로 eval을 억제하는 옵션이 있습니다.

스택 및 조인에는 비슷한 옵션이 있습니다.
Re : Eval 및 Eval Formula 억제에 도움이 필요합니다고마워 Jerry!
Re : Eval 및 Eval Formula 억제에 도움이 필요합니다고마워 브래디! 평소와 같이, 악마는 세부 사항에 있습니다. 내가 다루지 않은 미묘한 차이점.
따라서 올바르게 이해하면 개별 열 억제를 개별적으로 해제해야합니다. 데이터 테이블 억제는 다른 것이며 데이터 테이블 레벨에서 지워집니다.
참고로, 이것은 고객 요청에서 비롯된 것입니다. 그는 개별 열을 가지고 Supval Eval (어쨌든)으로 설정 한 다음 업데이트하지 않았습니다. 그는 간단한 "Recalc All"버튼을 찾고있었습니다. 언젠가 추가 할 수있는 유용한 기능이라고 생각하십니까?
Re : Eval 및 Eval Formula 억제에 도움이 필요합니다dt = 현재 데이터 테이블 ()에 대해 더 분명해야했습니다.
스크립트를 작성하면
dt = 현재 데이터 테이블;
대신에
dt = 현재 데이터 테이블 ();
dt는 데이터 테이블 핸들에 바인딩되지 않습니다 ... '현재 데이터 테이블'의 이름으로 변수의 값에 바인딩됩니다. 거의 확실하게이 변수는 정의되지 않습니다.
따라서 dt로 전송 된 데이터 테이블 메시지는이 경우 귀 먹음에 속합니다. 이것만으로도 원본 스크립트가 실패하게됩니다.
Re : Eval 및 Eval Formula 억제에 도움이 필요합니다내가 추가 할 것은 열이 열처럼 보일 것입니다 : Supval Eval (0 | 1) 또는 Suppress Formula Eval (0 | 1) 동안 테이블은 Suppress Formula Eval (0 | 1)에만 응답합니다. 이것은 "제한된 성공"이나 당신이보고 있었던 불일치를 설명 할 수 있습니다. 또한 열 설정이 테이블 설정보다 우선합니다.
Re : Eval 및 Eval Formula 억제에 도움이 필요합니다나는 1)과 2)를 다루지 않았다.
1) 열 수식으로 오류가 발생하면 사용자에게 메시지가 표시됩니다. 한 가지 옵션은 평가를 억제하는 것입니다.
2) 질문에서 언급 한 방법을 제외하고 억제를 끄는 방법을 모르겠습니다 ... 그것들은 내가 사용한 방법입니다. 나는 억압이 많이 발생하지 않습니다. 기본적으로 수식에 오류가 있고 문제를 해결하려는 경우에만 가능합니다.
Re : Eval 및 Eval Formula 억제에 도움이 필요합니다안녕하세요 제리
현재 데이터 테이블 () 뒤에는 괄호가 필요합니다. 함수이므로 0 개의 인수를 사용하고 현재 테이블에 대한 핸들을 반환합니다.
나는 이것을 많이 사용하지 않지만 말할 수있는 것으로부터 2 단계의 억제, 테이블 레벨 및 열 레벨이있는 것 같습니다. 열 수준 억제를 지우려면 아래를 사용하십시오.
메시지가 다릅니다 ... 열은 << suppress eval (0 | 1)을 사용하고 테이블은 << suppress formula 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;
이들은 당신이 제공 한 테이블에서 나를 위해 일하고 있지만 다른 방법으로는 테스트하지 않았으므로 누군가가 추가 / 수정 할 것이 있으면 차임하십시오.
건배,
브래디