所以我有一個從SQL查詢生成的數據表,因此它附加了“Update from DB”腳本。我可以根據需要經常運行該腳本,它可以毫無問題地為數據表工作,從服務器中提取新數據。
然而我的問題是我有一個覆蓋圖表,其中自動Recalc(1)打開,並且在我第一次運行Update腳本數據庫時工作,新數據立即顯示在圖表上,但當我再次執行時,圖表不再儘管填充了表格的新數據,但仍會更新。
我在其他平台上發現了類似的行為,因此我可以隨時將視覺效果繪製為更新查詢的一部分。修改視覺效果以便 JMP 被迫重新繪製它可以工作,例如在疊加圖中添加然後移除針頭使其更新。
一個腳本可以繪製疊加圖:
//make a new overlay plot
myvis = Overlay Plot(
X( :time ),
Y( :value )
);
第二個腳本刷新查詢(從“從數據庫更新”腳本複制,然後從重疊圖中添加和刪除針:
//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 );