그래서 SQL 쿼리에서 생성 된 데이터 테이블을 가지고 있으므로 "Update from DB"스크립트가 첨부되어 있습니다. 그 스크립트를 자주 사용하기를 원하는만큼 실행할 수 있으며 데이터 테이블에서 문제없이 작동하여 서버에서 새 데이터를 가져옵니다.
그러나 내 문제는 자동 Recalc (1)와 함께 오버레이 차트를 가지고 있고 그것은 내가 DB를 스크립트에서 업데이트를 실행 처음 작동, 새로운 데이터가 즉시 차트에 나타납니다,하지만 내가 다시 할 때, 차트는 더 이상 테이블을 채우는 새로운 데이터에도 불구하고 업데이트됩니다.
다른 플랫폼에서도 유사한 동작을 찾았으므로 언제든지 업데이트 쿼리의 일부로 시각적 개체를 그릴 수 있습니다.JMP가 강제로 다시 그리도록 시각적 개체를 수정하면 예를 들어 오버레이 플롯에서 바늘을 추가했다가 제거하면 업데이트됩니다.
하나의 스크립트는 오버레이 플롯을 그릴 수 있습니다.
//make a new overlay plot
myvis = Overlay Plot(
X( :time ),
Y( :value )
);
두 번째 스크립트는 쿼리를 새로 고칩니다('DB에서 업데이트' 스크립트에서 복사한 다음 중첩 플롯에서 바늘을 추가 및 제거합니다.
//Refresh the data
Current Data Table() << Update From Database(
"DSN=OSI PI Archive",
"SELECT TOP 10000000 time, value FROM piarchive..piinterp
WHERE (tag IN ('Sinusoid'))
AND time BETWEEN '*-5m' AND '*' AND timestep = '10s'"
);
//Add and remove needles from overlay plot (or modify axis, point type, etc.)
myvis << Needle( state=1 );
myvis << Needle( state=0 );