Ciao a tutti,
Ho una domanda JSL poiché sono bloccato con un codice su cui sto lavorando in questo momento.
Fondamentalmente, quello che sto facendo è utilizzare la piattaforma DOE per riempire lo spazio per scopi speciali per generare un DOE che devo alimentare a un'altra routine JSL. Il problema non è far funzionare JSL, ma con una finestra popup automatica di avviso JMP che appare ogni volta.
Di seguito è riportato il codice di base per la generazione del DOE:
tuntble = DOE(
Space Filling Design,
{Add Response( Maximize, "Y", ., ., . ), Load Factors, Set Random Seed( Today() ), FFF Optimality Criterion( MaxPro ),
Space Filling Design Type( Fast Flexible Filling, ndoe_runs ), Simulate Responses( 0 )}
);L'ho impostato su "Load Factors" dalla mia tabella dei fattori e genero il numero di corse ndoe_runs per il DOE. La mia tabella dei fattori è composta da circa 13 fattori, alcuni dei quali potrebbe essere costante, cioè non cambiare durante il DOE. La piattaforma DOE fornisce sempre un popup di avviso sui fattori costanti e dopo averli rimossi dal DOE, il che va bene, posso semplicemente includerli nuovamente nella tabella in un secondo momento. Questo è ciò che faccio nella parte automatizzata del codice JSL.
Il problema che sto riscontrando è che quando eseguo il mio codice in modo "line-wise", non ottengo la finestra popup, ricevo solo la seguente notifica nel registro della finestra di scripting: "Ogni fattore non costante deve avere almeno due livelli. Arresto dei fattori di carico." Ancora una volta, questo va bene, e preferirei che venisse fuori solo questo. Ma, quando eseguo il mio codice più grande nel suo insieme, ogni volta che arriva alla fase in cui deve generare il DOE, si ferma sempre e lancia la finestra popup di avviso. Non appena faccio clic su "OK", il codice continua e viene eseguito come previsto.
Preferirei disabilitare questo avviso solo per il mio codice (non JMP nel suo insieme), o se questa non è un'opzione, in qualche modo il codice JSL fa clic su "OK" per me in modo da non doverlo fare manualmente ogni volta . So come fare in modo che JSL faccia clic su OK quando si esegue JSL normale, come in una finestra di report, ma non so come accedere al pulsante "OK" della finestra di avviso per fare clic su di esso.
Ogni aiuto è molto apprezzato.
Grazie!,
DS
Ciao @ih e @jthi ,
Grazie per il rapido feedback e le idee. A volte, quando sei nel bel mezzo della codifica, perdi la soluzione ovvia. Mi sarebbe piaciuto se Try() funzionasse, ma non ha bloccato la finestra pop-up. Quindi, sono andato con @ih La soluzione di lasciare semplicemente fuori le colonne fisse durante la generazione del progetto di riempimento dello spazio e quindi reinserirle. Veloce e facile, solo poche righe di codice in più e ha funzionato come previsto.
Grazie ancora!,
DS
Puoi controllare i tuoi dati e rimuovere tutte le colonne che non variano prima di caricare i fattori nel DOE per eliminare del tutto la necessità del popup.
Non ho molta familiarità con la piattaforma DOE di JMP e non riesco a generare facilmente l'avviso che stai ricevendo. Se si tratta di un errore generato, forse potresti provare a racchiudere il codice nella struttura Try. Non sono sicuro che il codice che desideri venga comunque eseguito, ma potrebbe valere la pena provare:
Try(
code-you-want-to-execute
,
show(exception_msg)
);