Sugerencia sobre cómo escribir una pequeña ventana de actualización/progreso para el modeladoEstimada comunidad JMP,
Estoy interesado en crear una pequeña ventana que aparece cuando ejecuto mi secuencia de comandos de creación de modelos para mostrarme en qué paso (de miles) se está ejecutando actualmente. Estoy pensando en hacer algo como el siguiente script, que funciona, pero también crea una nueva ventana cada vez.
Names Default To Here( 1 );
imax = 5;
For( i = 1, i <= imax, i++,
update_window = New Window( "Progress Update",
Text Box( " Current step " || Char( i ) || " of " || Char( imax ), <<SET font="" size=""></SET>
Por supuesto, mi imax es mucho más grande que 5, esto es solo un script de prueba. Obtengo un resultado en cada iteración de lo siguiente (cinco ventanas en este caso):

Pero, como se mencionó, esto generaría varios miles de ventanas de este tipo, lo cual no quiero. Me gustaría actualizar solo el paso "i" del total.
El script de modelado está integrado en una tabla de datos y tiene su propio bucle FOR, ya que está ejecutando una tabla de ajuste gigante línea a línea: imax es el NRows() de esta tabla de ajuste, y puede tener más de 24k filas. Quiero insertar en el bucle for principal un script que crea un soltero ventana que permanece en la pantalla y le dice al usuario en qué paso "i" está fuera de NRows(). (Desplazarse por la tabla de datos es tedioso y parece una solución razonable).
No necesito una barra de progreso, ni nada por el estilo, solo un número simple que cambia en cada iteración del bucle FOR principal. Solo hay un bucle FOR, por cierto.
¡Gracias por tus sugerencias!
SD
Re: Sugerencia sobre cómo escribir una pequeña ventana de actualización/progreso para el modeladoActualizar:
Después de modificar el JSL en la publicación a la que hice referencia, pude crear esta ventana de prueba para mostrar el progreso como una barra (visual), más el recuento real de pasos X de Y. ¡Esto fue divertido!
Names Default To Here( 1 );
i = 1;
imax = 100;
dlgStatus = New Window( "Overall Modeling Progress",
V List Box(
dlg_gb = Graph Box(
Title( "Overall Modeling Progress" ),
FrameSize( 150, 15 ),
X Scale( 0, 100 ),
Y Scale( 0, 1 ),
yaxis( show major ticks( 0 ), show minor ticks( 0 ) ),
xname( "% complete" ),
yname( "" )
),
tb = Text Box(
" Current step " || Char( i ) || " of " || Char( imax ),
<<SET font="" size=""></SET>
Re: Sugerencia sobre cómo escribir una pequeña ventana de actualización/progreso para el modeladoHola @Mark_Bailey ,
Gracias por su rápida respuesta sobre esto. ¡Solución perfecta!
Me estaba moviendo en esta dirección después de leer esta publicación: https://community.jmp.com/t5/Discusiones/JMP-script-progress-indicator/mp/6057#M6056 . Pero, todavía estaba a unos pasos de distancia. Para el script de prueba, necesitaba agregar un Wait() en el bucle FOR porque fue muy rápido. El modelado lleva más tiempo en cada paso, por lo que no estoy preocupado por esto.
En una versión futura de esto, podría cambiarlo a una "barra de progreso" modificando lo que hizo el otro usuario en la publicación anterior.
¡Gracias de nuevo!,
SD
Re: Sugerencia sobre cómo escribir una pequeña ventana de actualización/progreso para el modeladoAbra la ventana con la actualización por separado y antes de que comience la iteración. Guarde una referencia al cuadro de texto en una variable. Envíe el mensaje << Establecer texto ("texto nuevo") a la referencia dentro de las iteraciones.
Names Default To Here( 1 );
imax = 5;
update_window = New Window( "Progress Update",
tb = Text Box( "Initial message", <<SET font="" size=""></SET>