Ciao,
Riconosco che questo potrebbe essere vago e mi scuso perché non sono completamente libero di mostrare tutti i dati che sto manipolando, ma farò del mio meglio per fornire quante più informazioni possibili.
Mi è stato fornito un componente aggiuntivo JMP per eseguire una regressione 4PL. Questo componente aggiuntivo è una combinazione di file JMP e un eseguibile. Non ho diritti di accesso all'eseguibile (non posso modificare questo file). I file JMP per il componente aggiuntivo forniscono la pulizia dei dati per l'eseguibile e quindi chiamano l'eseguibile. L'eseguibile interagisce con il file che è aperto, semplicemente aggiornerebbe il file con i dati 4PL e il gioco è fatto.
Il mio compito era di automatizzare il processo di esecuzione del componente aggiuntivo, abbiamo diversi file di input che dovremmo eseguire quotidianamente. L'approccio che stavo pianificando di prendere, era prendere il file che esegue l'eseguibile e trattarlo / avvolgerlo come una funzione, vorrei quindi scorrere il mio elenco di tabelle di dati.
L'ho fatto in modo paritetico:
- Innanzitutto mi sono assicurato che l'eseguibile lavorasse sui dati di input.
- Ho quindi scritto la funzione e una finestra di script separata ("wrapper") per selezionare la tabella di dati e passarla alla funzione. Ho fatto questo per un singolo file e ha funzionato correttamente.
Di seguito è il mio "wrapper" per chiamare la funzione, il codice qui sotto funziona correttamente:
include("$ADDIN_HOME(**path I cannot share**)\DRIA_func.jsl");
test1 = data table("First Data Table for Script");
var_1 = DRIA_func(test1);Tuttavia, una volta eseguita, la finestra di script sopra si chiude, non ne ho il controllo e non posso fermarla. Se dovessi aggiungere una seconda tabella di dati, il seguente errore si osserva nel registro:
In the following script, error marked by /*###*/
Include( "$ADDIN_HOME(**path I cannot share**)\DRIA_func.jsl" );
test1 = Data Table( "First Data Table for Script" );
var_1 = DRIA_func( the_table_test1 );
test2 = Data Table( "Second Data Table for Script" );
var_2 = DRIA_func( the_table_test2 ) /*###*/;
Non so perché la finestra di script si sta chiudendo, ma immagino che questo stia causando l'errore.
Lo script JMP che sto trasformando in una funzione, se lo eseguo da solo, fornisce il risultato corretto alla tabella di dati, ma la forza si chiude anche.
L'unico riferimento che ho è questo collegamento alla comunità:
https://community.jmp.com/t5/Discussions/C-closes-JMP-after-running/td-p/35678
Da quello che ho capito questo fa parte della codifica C # e non è qualcosa che posso mitigare in / attraverso JMP. Sono l'unica risorsa su questo, e prima di concludere è un problema con l'eseguibile, volevo chiedere agli esperti qui!
Grazie per l'aiuto!