Attendi (0) vs Attendi (n) vs Esegui vs FineHo tabelle di dati molto grandi e in costante crescita, quindi ho problemi con le formule che non finiscono. Vorrei che JMP costruisse semplicemente un meccanismo per impedire agli script di continuare fino al termine di ogni riga, ma forse c'è una ragione per non farlo a cui non sto pensando. In genere utilizzo un comando wait (n) (ad esempio wait (30);) tuttavia, man mano che il set di dati cresce, devo costantemente aggiornare innumerevoli istanze di "wait" attraverso le migliaia di righe di codice man mano che le tabelle diventano troppo grandi per certo righe di codice per terminare la valutazione. In seguito ho pensato di aver imparato che wait(0); sarebbe dinamico. Aspetterebbe tutto il tempo necessario per completare la valutazione prima di passare alla riga successiva, quindi ho cambiato tutto in wait(0), ma ora molte righe non vengono completate e quindi lo script si interrompe. Ho sbagliato a pensare che wait(0); il comando sarebbe dinamico come ho descritto? Ho provato i comandi "Esegui" e "Fine" ma nessuno dei due ha funzionato. Sono tornato indietro e ho messo, ad esempio, a wait(30); in un posto e ha funzionato di nuovo .. quindi sono bloccato con questi incrementi di tempo statici che dovrò inevitabilmente continuare a cambiare nel tempo .. o sto facendo qualcosa di sbagliato qui?
Automazione e scriptingRi: Attendi (0) vs Attendi (n) vs Esegui vs FinePenso che se hai formule nelle tabelle che stai unendo / aggiornando, potrebbe essere d'aiuto. Penso di non aver mai avuto problemi con le tabelle di dati direttamente correlate a JMP che mi avrebbero richiesto di utilizzare wait (la maggior parte dei problemi sono stati correlati ad alcune variabili che non ottengono valori o con visualizzazioni in una nuova finestra). Non conosco abbastanza dettagli tecnici su ciò che JMP sta facendo in background, quindi forse potresti provare a inviare un'e-mail support@jmp.com per assistenza? Anche taggare @Jeff_Perkinson sulla base di questa vecchia risposta Come posso forzare l'esecuzione sequenziale del mio script?
Un paio di domande:
Stai usando Current Datatable() per fare riferimento a datatables? Quale versione di JMP stai utilizzando?
Link:
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/scripting-data-tables.shtml#ww2071832
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/scripting-numbers-strings-arrays-and-lists.shtml#
Ri: Attendi (0) vs Attendi (n) vs Esegui vs FineAvrei dovuto specificare che non si tratta solo di valutazioni di formule ma di azioni come l'apertura e l'unione o l'aggiornamento di un'altra tabella, l'ordinamento di una tabella, ecc. Quei comandi funzioneranno su cose che non sono formule?
Ri: Attendi (0) vs Attendi (n) vs Esegui vs FineHai provato ad usare:
dt << Run Formulas();
O
dt << Rerun Formulas;
per quanto ne so, con questi JMP dovrebbe attendere il completamento della valutazione della formula prima che continui.
Altre opzioni possibili: sono necessarie anche formule? Potresti cavartela con < invece di formule? Forse anche l'uso di dt << Inizio aggiornamento dati ; E dt << Fine aggiornamento dati ; potrebbe essere utile.