Estimados,
Estoy trabajando en un script en el que necesito hacer referencia a una ventana de Informe. Específicamente, lo que estoy tratando de automatizar es usar la función Simular() de algunas estimaciones de parámetros. Sé que dentro de este informe, necesito enviar el comando Simular al cuadro de columna numérica (8).
El problema que tengo es que tengo una ventana de interfaz de usuario principal donde el usuario puede hacer clic en un cuadro de botón para simular las estimaciones de los parámetros o iniciarlas. El problema es que en la ventana principal (ver imagen a continuación), cuando el usuario hace clic en cualquiera de los cuadros de botones, hay un comando en mi secuencia de comandos donde intento obtener el informe actual, que está abierto en otra ventana.

ventana de informe:

Pero, cuando hace clic en el botón, el comando JSL obj = Current Report() devuelve una referencia a la ventana de la interfaz principal, NO al informe al que realmente estoy tratando de hacer referencia. Si hago clic en la ventana del informe y luego ejecuto el script, funciona.
obj = Current Report();
NBSnum = NBS << Get;
RSnum = RS << Get;
obj[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out( :ColumnA ),
In( :ColumnB )
);
No he logrado encontrar una solución adecuada ni en el Índice de secuencias de comandos ni en la búsqueda de cómo hacer referencia correctamente al informe para que el usuario pueda simplemente hacer clic en el cuadro del botón en la ventana principal.
Se agradece cualquier idea. Me imagino que esto debería ser fácil, pero ahora estoy perplejo.
¡Gracias!,
DS
Esto podría darte algunas ideas de lo que podrías hacer.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Penicillin.jmp");
dt << Fit Model(
Freq(:Count),
Y(:Response),
Effects(:"ln(dose)"n),
Personality(Generalized Linear Model),
GLM Distribution(Binomial),
Link Function(Logit),
Run
);
report_windows = Get Window List("Report");//; << Get Window Title
report_of_interest = Empty();
For Each({report_window}, report_windows,
outline_title = Try(report_window[OutlineBox(1)] << get title, "");
If(Starts With(outline_title, "Generalized Linear "),
report_of_interest = report_window;
break();
);
);
ref = report_of_interest[OutlineBox(1)] << Get Scriptable Object;
Creo que también puedes usar la lista de ventanas para determinar cuál se abrió por última vez (si no recuerdo mal, es la última).
Hola @jthi ,
Gran sugerencia, funcionó; de hecho, solo obtener el report_of_interest fue suficiente y luego pude llamar al report_of_interest[Number Col Box(8)] y enviarle el comando a Simulate o Bootstrap. ¡Funcionó muy bien!
¡Gracias por la ayuda!,
DS