JMP 실시간 데이터 테이블 새로 고침 스크립트(쿼리 빌더에서 실행)이 질문은 JMP 라이브 데이터 테이블 새로 고침 스크립트에 관한 것입니다. 특히, 쿼리 빌더를 사용하여 JMP의 데이터베이스에 연결하고 쿼리 후 스크립트를 실행하는 데 사용되는 소스 스크립트에 대한 질문입니다.
@LuizaFabreti 님 과 저는 몇 가지 예제를 테스트해 봤는데, JMP Live의 PostQueryScript에서 어떤 부분이 실행되고 어떤 부분이 실행되지 않는지(무시되는지) 명확하지 않습니다.
두 경우 모두 PostQueryScript는 두 열(약품 ID와 설명)을 연결하여 새 열을 생성하는 새로운 수식 열을 추가합니다.
이런 현상 본 적 있는 분 계신가요? 조언 부탁드립니다.
@dieterpisot
@Alex_Lippincott
제목: JMP 라이브 데이터 테이블 새로 고침 스크립트(쿼리 빌더 사용) 관련제가 알기로는 JMP Live는 PostQueryScript를 JMP와 다르게 처리하지 않습니다. JMP에서 새로 고침 스크립트를 실행해 보셨나요? 거기서는 제대로 작동하나요?
제목: JMP 라이브 데이터 테이블 새로 고침 스크립트(쿼리 빌더 사용) 관련두 번째와 세 번째 스크립트도 다음과 같은 오류가 발생합니다.
Name Unresolved: New Formula Column in access or evaluation of 'New Formula Column' , New Formula Column(
Operation( Category( "Character" ), "Concatenate with Space" ),
Columns( :Drug ID, :Description )
) /*###*/
at line 1
Data Table( "Stability_Data_Stacked 2" )
제목: JMP 라이브 데이터 테이블 새로 고침 스크립트(쿼리 빌더 사용) 관련제 경험도 비슷합니다. 어떤 때는 되고 어떤 때는 안 됩니다. New Column() 함수는 작동하지만, 그보다 복잡한 작업은 JSL 쿼리 외부에서 처리하는 것을 추천합니다. 어떤 기능이 지원되어야 하는지는 잘 모르겠지만, 쿼리 후 스크립트는 그다지 좋지 않다고 생각합니다.
제목: JMP 라이브 데이터 테이블 새로 고침 스크립트(쿼리 빌더 사용) 관련아직 테스트는 안 해봤지만, 인터프리터가 스크립트의 나머지 부분을 처리하기 전에 생성하고 나중에 사용하려는 열이 실제로 이미 생성되었는지 확인하는 것이 좋을 수도 있습니다. 이는 테이블 이름, 생성된 열 이름, 검색 및 선택 행 등과 같은 항목을 참조할 때 가장 자주 발생하는 문제입니다.
`wait()` 또는 `wait(2)`를 호출하여 오류의 원인이 무엇인지 확인할 수 있습니다. 만약 그렇다면 코드 구조를 변경하거나, 성능 저하가 없다면 스크립트에 `wait()` 명령을 유지하거나, 다른 접근 방식을 고려해 볼 수 있습니다.
쿼리 후 스크립트에서 테이블을 조작하는 것은 다소 어렵습니다. 테이블 관리는 테이블이 생성된 직후 새로 고침 스크립트에서 수행하는 것이 좋으며, 데이터를 가져오는 단계에서는 하지 않는 것이 좋습니다.
제목: JMP 라이브 데이터 테이블 새로 고침 스크립트(쿼리 빌더 사용) 관련아래 내용과 관련된 .jmpquery 파일을 첨부했습니다. 두 파일 모두 JMP에서 정상적으로 작동합니다.
볼티모어 관련 디스커버리 문서가 있는데, 거기에 알렉스의 제안을 반영하려고 합니다. JMP Live에 게시하기 전에 Post-Query 스크립트 외부로 작업을 옮기거나, (소스 스크립트에 의존하는 대신) 데이터 새로 고침 스크립트를 처음부터 다시 작성하는 것입니다.
제목: JMP 라이브 데이터 테이블 새로 고침 스크립트(쿼리 빌더 사용) 관련두 번째 .jmpquery 파일을 올리는 데 문제가 있지만, 원하시면 이메일로 보내드릴 수 있습니다.
유일한 차이점은 쿼리 후 스크립트입니다(JMP Live에서는 열이 생성되지만 이동되지는 않습니다).
// 새 열: 약물 ID, 설명
데이터 테이블("Stability_Data_Stacked") << 새 열("약물 ID, 설명",
성격,
"명사 같은",
Formula( Char( :약물 ID ) || " " || :설명 )
) << 선택한 열 이동( {:"약품 ID, 설명"n}, 다음( :설명 ) ) <<
수식을 실행합니다.
제목: JMP 라이브 데이터 테이블 새로 고침 스크립트(쿼리 빌더 사용) 관련마틴의 추측이 꽤 정확한 것 같습니다. 타이밍 문제인 것 같은데, PostQueryScript가 비동기적으로 실행되면서 SQL 쿼리가 PostQueryScript 실행이 완료되기 전에 스크립트로 반환되는 것일 수 있습니다. JMP Live 세션은 기다려야 한다는 것을 알지 못하고 PostQueryScript가 완료되기 전에 테이블을 반환하는 것이죠. PostQueryScript가 완료될 때까지 기다리도록 wait() 함수를 추가하는 것이 좋은 해결책이 될 것 같습니다.