Así que tengo una tabla de datos que se genera a partir de una consulta SQL, por lo que tiene adjunta la secuencia de comandos "Actualizar desde la base de datos". Puedo ejecutar ese script con la frecuencia que desee y funciona sin problemas para la tabla de datos, extrayendo nuevos datos del servidor.
Sin embargo, mi problema es que tengo un gráfico de superposición con Recalc (1) automático y que funciona la primera vez que ejecuto el script Update from DB, los nuevos datos aparecen instantáneamente en el gráfico, pero cuando lo hago de nuevo, el gráfico ya no aparece. Actualizaciones a pesar de los nuevos datos que pueblan la tabla.
Encontré un comportamiento similar para otras plataformas, así que en cualquier momento puedo dibujar imágenes como parte de la consulta de actualización.Sin embargo, modificar el visual para que JMP se vea obligado a volver a dibujarlo funcione, por ejemplo, agregar y luego quitar agujas en un gráfico de superposición hace que se actualice.
Un guión podría dibujar la trama de superposición:
//make a new overlay plot
myvis = Overlay Plot(
X( :time ),
Y( :value )
);
Una segunda secuencia de comandos actualiza la consulta (copiada de la secuencia de comandos 'Actualizar desde la base de datos', luego agrega y elimina las agujas del gráfico de superposición:
//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 );