Ri: JSL per selezionare Sì su un promptquesto è un esempio dall'indice di scripting
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
:Height << Range Check( LE LE( 48, 65) );
check = :Height << Get Range Check;
Show( check );
I valori al di fuori dell'intervallo vengono impostati come mancanti e non è presente alcuna finestra di dialogo.
Ri: JSL per selezionare Sì su un promptCiao Byron,
Grazie per averci dato un'occhiata.
L'origine Big Class non dispone di dati al di fuori di tali intervalli e non richiederebbe la casella. Ho provato a seguirlo prima di questo e non sono riuscito a farlo funzionare.
Ci sono solo 40 punti dati in quel set e se restringi il controllo dell'intervallo per escludere i punti, il prompt appare nel registro dell'indice di scripting.
Lo sto capendo correttamente?
Ri: JSL per selezionare Sì su un promptAlmeno per me il messaggio viene scritto nel registro ma lo script continua.Sono sicuro che esiste una soluzione più elegante per ripulire il tuo registro, ma le quattro righe centrali qui sono un approccio di "forza bruta":
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
log entry = Log Capture(:Height << Range Check( LE LE( 48, 62) ));
if(
is missing(regex(log entry, "^(\!NOut of range.*Continue\!\?\!N$)|()")),
throw("Unexpected problem in range check:\!N" || char( log entry ) )
);
check = :Height << Get Range Check;
Show( check );
Per simulare un errore (non so cosa potrebbe causare il fallimento di Range Check()) puoi sostituire la riga di immissione del registro con questa:
log entry = Log Capture( 1/"a" ) ;
Ri: JSL per selezionare Sì su un promptCiao io,
Immagino che parte del problema che sto riscontrando sia che sto cercando di scriverlo in una citazione JSL in un pulsante cliccabile per estrarre i dati dal LIMS. Se eseguo il tuo script a titolo definitivo, funziona esattamente come hai descritto. Ma se lo inserisco in un pulsante, smette di funzionare.
In particolare, fornisce la risposta di lancio di "Problema imprevisto nel controllo dell'intervallo:" ma non ci sono informazioni dopo i due punti per dirmi cosa si sta bloccando nel tentativo di eseguire il controllo dell'intervallo. Se sostituisco la riga di immissione del registro come hai detto, mi dà qualcosa su cui lavorare "Impossibile convertire l'argomento in un numero [o matrice] nell'accesso o nella valutazione di 'Divide' , 1 / /*###*/"a " /*####*/" Quando si trova nel pulsante, fornisce anche la stessa finestra di dialogo che avevo descritto nel post originale.
Sembra che questo potrebbe essere più uno sforzo di quanto valga la pena provare a scrivere.
JSL è la prima lingua che sto imparando, quindi c'è ancora così tanto da imparare a riguardo. Qualcosa mi dice che è qualcosa di piccolo e fondamentale che ancora non capisco.
Ri: JSL per selezionare Sì su un promptCapisco cosa intendi e non sono sicuro di come sopprimere quel messaggio di avviso.Per questo caso d'uso, però, salterei semplicemente la funzione Range Check e farei invece questo:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
For each row( dt,
if(:Height < 53, :Height = Empty());
if(:Height > 65, :Height = Empty());
);
Ri: JSL per selezionare Sì su un promptGrazie eh!
L'ho provato e fa esattamente quello che cerco.
Grazie per il vostro aiuto, questo ha parecchie applicazioni finora e mi chiedo dove altro posso applicare questa logica.
JSL per selezionare Sì su un promptCiao,
Sono su JMP 16.1
Ho un set di dati con un controllo dell'intervallo collegato ad esso con dati che sono al di fuori dell'intervallo che escluderemo sempre.
Sfortunatamente, la correzione della voce LIMS non è un'opzione.
Se possibile, in che modo uno script dovrebbe selezionare sempre Sì al prompt risultante di seguito per il controllo dell'intervallo?

Grazie per qualsiasi aiuto, ogni giorno impari qualcosa di nuovo su questo programma.
Modellazione statistica avanzataAutomazione e scriptingConsumatori e ricerche di mercatoMiscelazione e pulizia dei datiCondivisione e comunicazione dei risultati