所以我有一个从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 );