JSL에서 개별 열의 Suppress Eval 플래그를 변경하여 해당 열의 수식이 평가되지 않도록 할 수 있다는 것을 알고 있습니다.이는 평가하는 데 시간이 걸리는 복잡한 수식에 유용합니다.한 번 평가하고 억제 할 수 있지만 공식은 그대로 유지하여 필요한 경우 나중에 돌아가서 다시 평가할 수 있습니다.
어떤 상황에서는 여러 열을 반복하는 작업을 수행 할 때 실제로 변경하지 않고 Suppress Eval 플래그의 현재 상태를 알고 싶습니다.이 정보를 추출 할 방법을 찾지 못했습니다.값을 1 또는 0으로 설정할 수 있지만 토글 할 수없고 현재 값을 가져올 수 없습니다.이것이 가능한가?
Names Default To Here(1);
dt = Current Data Table();
col = Column(dt, "myColumn");
col << Suppress Eval(1); //suppresses formula eval
col << Suppress Eval(0); //un-suppresses formula eval
suppress_state = col << Suppress Eval; //does not work as expected. sets suppress eval to 1.
Show(suppress_state); //prints "suppress_state = Scriptable[]" in the log. current state not returned.
또한 Supress Eval이 이미 1로 설정되어 있고 "col << Supress Eval"줄이 실행되면 다음 경고가 표시됩니다.
빈 부울 인수가있는 메시지가 이미 활성화 된 옵션을 활성화했습니다. 해당 옵션은 계속 활성화되어 있습니다. 이전 버전의 JMP에서는이 옵션이 비활성화되었습니다.
따라서 이전 버전의 JMP에서는이 옵션을 토글 할 수 있었지만이 기능은 제거되었습니다.
또한 Show Properties (col)의 출력을 보았고 Supress Eval에 대한 참조를 하나만 찾았습니다.
평가 억제 [부울] [스크립팅 전용]
따라서 이것은 부울 인수를 받아들이고 값을 반환하지 않으며 스크립팅에서만 액세스 할 수있는 함수임을 의미합니까?가치를 얻을 수있는 방법이 있습니까?
나는 그것을 얻는 직접적인 방법을 알지 못하지만,이 어리석은 코드 조각이 그것을 위해 작동 할 것이다.
suppresseval = contains(char(:<YOURCOLUMNNAME> <<GET script=""></GET></YOURCOLUMNNAME>