Errori JSL in JMP14 che provocano il fallimento degli script JMP 13Sto riscontrando problemi significativi durante il tentativo di eseguire una serie di script JSL in JMP 14 su un terminale di colleghi che funzionava in JMP 13. Sono sorti i seguenti problemi:
- dt = Current Data Table () sembra funzionare solo una volta. Devo continuare a identificare cosa è dt o cambiare dt << in Current Data Table () <<.
- Il mio tag BatchID continua a non funzionare, con il seguente errore:
Formula BatchID colonna interrotta
Nome non risolto: gruppo 1 volte Alle righe: 2 Operazione: gruppo, gruppo / * ### * /
Gli errori di valutazione della formula sono stati ignorati - L'errore precedente si verifica con ciascuno dei tag gruppo / anno / settimana, se rimuovo la variabile tag precedente.
Clear Symbols();
//Before running this script, be sure to Recode any problems in the AliasName column.
//Enter the abbreviation for your Group, the year "YY", and the Week # "WW" for the experiment.
New Window("Experiment Details",
<<MODAL></MODAL>Posso pubblicare uno snippet di tabella dati, se necessario.
Vedere il codice pubblicato di seguito
Ri: Errori JSL in JMP14 che provocano il fallimento degli script di JMP 13Jeff, grazie per il consiglio sulla sintassi, lo incorporerò negli script futuri. Non sono ancora sicuro di cosa stia succedendo in precedenza nello script che sta causando il fallimento del tag BatchId. Sto ancora aspettando il mio accesso a JMP 14 in modo da poter testare il codice sulla mia macchina.
Ri: Errori JSL in JMP14 che provocano il fallimento degli script di JMP 13Mi dispiace che tu abbia difficoltà qui.
In generale, non è una buona pratica fare affidamento su Current Data Table () e di solito è abbastanza facile da evitare.
Nel tuo caso specifico, stai contando sul risultato della tua divisione che diventa la tabella dati corrente. Come hai scoperto, non è garantito.
dt << Split( Split By( :Loops ), Split( :PV ), Group( :Datetime, :BatchID ), Remaining Columns( Keep( :EFT ) ) );
Invece dovresti catturare il risultato della divisione nella tua variabile, dt.
dt = dt << Split(
Split By( :Loops ),
Split( :PV ),
Group( :Datetime, :BatchID ),
Remaining Columns( Keep( :EFT ) )
);
//This sorts the data according to BatchID and then time.
//No longer need to set dt because it's already set above
//dt = Current Data Table();
dt = dt << sort( Replace table, By( BatchID ), Order( Ascending ) );