JSL e riferimento corretto di un rapportoCarissimi,
Sto lavorando su uno script in cui devo fare riferimento a una finestra di report. Nello specifico, ciò che sto cercando di automatizzare è utilizzare la funzione Simulate() di alcune stime dei parametri. So che all'interno di questo rapporto devo inviare il comando Simulate al Number Col Box (8).
Il problema che ho è che ho una finestra dell'interfaccia utente principale in cui l'utente può fare clic su una casella di pulsanti per simulare le stime dei parametri o eseguirne il bootstrap. Il problema è che nella finestra principale (vedi immagine sotto) quando l'utente fa clic su una delle caselle dei pulsanti, nel mio script è presente un comando in cui sto cercando di ottenere il report corrente, che è aperto in un'altra finestra.

finestra del rapporto:

Ma, quando si fa clic sul pulsante, il comando JSL obj = Current Report() restituisce un riferimento alla finestra dell'interfaccia principale NON al report a cui sto effettivamente cercando di fare riferimento. Se faccio clic sulla finestra del rapporto e quindi eseguo lo script, funziona.
obj = Current Report();
NBSnum = NBS << Get;
RSnum = RS << Get;
obj[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out( :ColumnA ),
In( :ColumnB )
);
Non sono riuscito a trovare una soluzione adeguata né nell'indice degli script né nella ricerca di come fare riferimento correttamente al report in modo che l'utente possa semplicemente fare clic sulla casella dei pulsanti nella finestra principale.
Qualsiasi idea di pensiero è apprezzata. Immagino che dovrebbe essere facile, ma in questo momento sono perplesso.
Grazie!,
DS
Automazione e scriptingAnalisi e modellazione dei dati di baseEsplorazione e visualizzazione dei datiOggetto: JSL e riferimento corretto a un rapportoQuesto potrebbe darti qualche idea su cosa potresti fare
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;
Penso che tu possa anche usare l'elenco delle finestre per determinare quale finestra è stata aperta per ultima (se ricordo bene è l'ultima).
Oggetto: JSL e riferimento corretto a un rapportoCIAO @jthi ,
Ottimo suggerimento, ha funzionato: in effetti, è stato sufficiente ottenere report_of_interest e quindi ho potuto chiamare report_of_interest[Number Col Box(8)] e inviargli il comando a Simulate o Bootstrap. Ha funzionato alla grande!
Grazie per l'aiuto!,
DS