SQLクエリから生成されたデータテーブルがあるので、"Update from DB"スクリプトが添付されています。このスクリプトは必要に応じて何度でも実行でき、データテーブルに対して問題なく機能し、サーバーから新しいデータを取得します。
ただし、自動再計算(1)をオンにしたオーバーレイチャートがあるため、Update from DBスクリプトを最初に実行したときに新しいデータが即座にチャートに表示されますが、もう一度実行するとチャートが表示されなくなります。新しいデータがテーブルに入力されても更新されます。
他のプラットフォームでも同様の動作が見られたので、いつでも更新クエリの一部としてビジュアルを描画できます。JMPが強制的に再描画するようにビジュアルを変更することはできますが、たとえば、オーバーレイプロットで針を追加してから削除すると、ビジュアルが更新されます。
1つのスクリプトでオーバーレイプロットを描画できます。
//make a new overlay plot
myvis = Overlay Plot(
X( :time ),
Y( :value )
);
2番目のスクリプトはクエリを更新します(「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 );