Cercando di scrivere uno script che aggiungerà i risultati dell'analisi di regressione a un foglio di calcolo Excel esistenteCiao, sto cercando di scrivere uno script jsl che aggiungerà i risultati di un'analisi di regressione a un file Excel esistente. Il mio script attuale scrive in un file Excel ma voglio essere in grado di eseguire lo script più volte e aggiungere ogni nuovo risultato al foglio Excel esistente. (Attualmente sto aggiungendo il nuovo risultato manualmente, a mano.) Vedi lo script allegato.
Grazie in anticipo!
ps Sto usando JMP Pro 17
Automazione e scriptingRi: Tentativo di scrivere uno script che aggiungerà i risultati dell'analisi di regressione a un foglio di calcolo Excel esistenteSembra che quello che devi fare, dopo aver creato le nuove colonne nella tabella dei dati, devi leggere la tabella Excel a cui vuoi aggiungere i dati, utilizzare Tabelle => Concatena per aggiungere la nuova tabella a la tabella a cui desideri aggiungere i dati, quindi salvala appena concatenata.
Ri: Tentativo di scrivere uno script che aggiungerà i risultati dell'analisi di regressione a un foglio di calcolo Excel esistenteGrazie Jim. Se lo script che esegue l'analisi e aggiunge tabelle produce un file denominato X, è necessario prima salvare X prima della concatenazione? E se è così, il nome della tabella all'interno della mia funzione Concatena è il file che riceve i risultati di tutte le esecuzioni (ad esempio Concatena (masterfile)?
Quindi se quanto sopra è corretto, direi:
salva X
concatenare (masterfile)
salva il file principale
rieseguire lo script
Sto leggendo correttamente?
Ri: Tentativo di scrivere uno script che aggiungerà i risultati dell'analisi di regressione a un foglio di calcolo Excel esistenteSÌ
Ri: Tentativo di scrivere uno script che aggiungerà i risultati dell'analisi di regressione a un foglio di calcolo Excel esistenteQuesto è ciò che si apre dopo la corsa. (Curiosamente, mostra un nome di file relitto (v2n=25....) che il mio codice jsl NON utilizza - ho controllato e ricontrollato). In ogni caso, il codice seguente, mostrato di seguito, non produce righe concatenate.

dt << save("C:\Users\trcampbell\Desktop\MASTER ECOLI\2024\analisi di regressione\esecuzioni di validazione\testtest2 n=258.xls");
///AGGIUNGI APPENDI SCRIPT
Concatenate("C:\Users\trcampbell\Desktop\MASTER ECOLI\2024\analisi di regressione\esecuzioni di convalida\masterfile n=258.xls") ;
//SALVA IL MASTERFILE CONTENENTE LE RIGHE (AGGIUNTE) DI TUTTE LE CORSE
dt<< save("C:\Utenti\trcampbell\Desktop\MASTER ECOLI\2024\analisi di regressione\esecuzioni di validazione\masterfile n=258.xls");
Qualunque suggerimento è ben accetto.
Ri: Tentativo di scrivere uno script che aggiungerà i risultati dell'analisi di regressione a un foglio di calcolo Excel esistenteProva a selezionare la casella di controllo "Aggiungi alla prima tabella"
Ri: Tentativo di scrivere uno script che aggiungerà i risultati dell'analisi di regressione a un foglio di calcolo Excel esistenteSfortunatamente, questo non ha aiutato. Lo script concatenato continua a non funzionare. (Curioso, se lo script automatizza il processo, non sono sicuro del motivo per cui dovrei fare clic su una casella di controllo in una finestra popup ogni volta che eseguo lo script.)
Inoltre (probabilmente non correlato al mancato funzionamento dello script concatenato), per qualche motivo viene aperto un relitto (file ora eliminato) all'inizio dell'esecuzione, invece del file che lo script dice di eseguire. Non riesco a capire perché ciò stia accadendo.

Quindi eseguo la regressione, aggiungo alcune colonne in base ai risultati dell'esecuzione e quindi….

Ri: Tentativo di scrivere uno script che aggiungerà i risultati dell'analisi di regressione a un foglio di calcolo Excel esistenteEcco uno script di esempio che spero chiarisca cosa devi fare per concatenare nuovi dati in un file master
names default to here(1);
// Create 2 data tables and save them as excel files
// one will be the master and one will play the role of the new data
dtExample = open("$SAMPLE_DATA/big class.jmp");
theTables =dtExample << Subset(
By( :sex ),
All rows,
Selected columns only( 0 ),
columns( :name, :age, :height, :weight )
);
close( dtExample, nosave );
// Change the names of the first table to Master
theTables[1] << set name("Master");
data table("Master") << bring window to front;
// Add the new columns to the master, like your master file already
// has all of the columns. In this example, I will only add 1 column
data table("Master")<< new column("Ratio", set each value(:height/:weight));
// Wait 5 seconds so you can observe the master table
wait(5);
// save and close the Master table as an excel table
close( data table("Master"), save("$TEMP/master.xlsx"));
// Change the name of the second table to New Data
theTables[2] << set name("New Data");
data table("New Data") << bring to front;
// wait 5 seconds here too, so you can observe the New Data table
wait(5);
// now save and close the New Data table as an excel table
close( data table("New Data"), save("$TEMP/New Data.xlsx"));
// Now that there are a Master and a New Data table that have been
// created we can now illustrate how to read in some new data,
// add the required new columns, save it, then open the master file,
// and concatenate the new data to the master and then save the updated
// master file
// open the new data table. I am using the variable dt as the pointer
// to the file, since that is what you are doing in your script
dt = open("$TEMP/New Data.xlsx");
// Add the new columns (in this example, only 1 column) to the data table
// your syntax is
// new column("ratio", formula(:height/:weight);
// I suggest that you become more precise and point to the specific data table
// by using either
// dt << New Column(......);
// or
// data table("New Data") << New Column( ...... );
data table("New Data") << New Column( "Ratio", formula(:height/:weight));
// Now the data can be saved
// use either
// dt<< save(...........);
// or
// data table("New Data")<< save(................);
dt << save("$TEMP\test1 n=22.xlsx");
// now open the master table
dtMaster = open("$TEMP\master.xlsx");
// concatenate the new data table to the master
dtMaster << concatenate( dt, append to first table(1));
// now save the master
dtMaster << save("$TEMP\master.xlsx");
// uncomment the below code if you want to close the new data and the master tables
// close( dt, nosave );
// close( dtMaster, nosave );
Ri: Tentativo di scrivere uno script che aggiungerà i risultati dell'analisi di regressione a un foglio di calcolo Excel esistenteEccellente: grazie, Jim!