Intentar escribir un script que agregue los resultados del análisis de regresión a una hoja de cálculo de Excel existenteHola: estoy intentando escribir un script jsl que agregará los resultados de un análisis de regresión a un archivo de Excel existente. Mi secuencia de comandos actual escribe en un archivo de Excel, pero quiero poder ejecutar la secuencia de comandos varias veces y agregar cada resultado nuevo a la hoja de Excel existente. (Actualmente estoy agregando el nuevo resultado manualmente). Consulte el script adjunto.
¡Gracias de antemano!
PD: Estoy usando JMP Pro 17.
Automatización y secuencias de comandosRe: Intentando escribir un script que agregue los resultados del análisis de regresión a una hoja de cálculo de Excel existenteParece que lo que debe hacer es que después de haber creado las nuevas columnas en su tabla de datos, debe leer en la tabla de Excel a la que desea agregar los datos, usar Tablas => Concatenar para agregar la nueva tabla a la tabla a la que desea agregar los datos y luego guarde la nueva concatenación.
Re: Intentando escribir un script que agregue los resultados del análisis de regresión a una hoja de cálculo de Excel existenteGracias Jim. Si el script que ejecuta el análisis y agrega tablas produce un archivo llamado X, ¿se debe guardar primero X antes de la concatenación? Y si es así, ¿el nombre de la tabla dentro de mi función Concatenar es el archivo que recibe los resultados de todas las ejecuciones (es decir, Concatenar (archivo maestro)?
Entonces, si lo anterior es correcto, diría:
guardar X
concatenar (archivo maestro)
guardar archivo maestro
volver a ejecutar el script
¿Estoy leyendo esto correctamente?
Re: Intentando escribir un script que agregue los resultados del análisis de regresión a una hoja de cálculo de Excel existenteSí
Re: Intentando escribir un script que agregue los resultados del análisis de regresión a una hoja de cálculo de Excel existenteEsto es lo que se abre después de la carrera. (Curiosamente, muestra un nombre de archivo relicto (v2n=25....) que mi código jsl NO usa; lo he verificado y vuelto a verificar). En cualquier caso, el siguiente código, que se muestra a continuación, no genera filas concatenadas.

dt << save("C:\Users\trcampbell\Desktop\MASTER ECOLI\2024\análisis de regresión\ejecuciones de validación\testtest2 n=258.xls");
///AÑADIR SCRIPT ANEXO
Concatenate("C:\Users\trcampbell\Desktop\MASTER ECOLI\2024\análisis de regresión\ejecuciones de validación\masterfile n=258.xls" ;
//GUARDAR EL ARCHIVO MAESTRO QUE CONTIENE FILAS (ANEXADAS) DE TODAS LAS EJECUCIONES
dt<< save("C:\Users\trcampbell\Desktop\MASTER ECOLI\2024\análisis de regresión\ejecuciones de validación\masterfile n=258.xls");
Cualquier sugerencia será muy apreciada.
Re: Intentando escribir un script que agregue los resultados del análisis de regresión a una hoja de cálculo de Excel existenteIntente seleccionar la casilla de verificación denominada "Agregar a la primera tabla".
Re: Intentando escribir un script que agregue los resultados del análisis de regresión a una hoja de cálculo de Excel existenteDesafortunadamente, eso no ayudó. El script de concatenación todavía no funciona. (Curiosamente, si el script automatiza el proceso, no estoy seguro de por qué tendría que hacer clic en una casilla de verificación en una ventana emergente cada vez que ejecuto el script).
Además (probablemente no relacionado con el script de concatenación que no funciona), por alguna razón se abre un reliquia (un archivo ahora eliminado) al comienzo de la ejecución, en lugar del archivo que el script dice que se ejecute. No puedo entender por qué está sucediendo eso.

Luego ejecuto la regresión, agrego algunas columnas según los resultados de la ejecución y luego...

Re: Intentando escribir un script que agregue los resultados del análisis de regresión a una hoja de cálculo de Excel existenteAquí hay un script de ejemplo que espero aclare lo que debe hacer para concatenar nuevos datos en un archivo maestro.
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 );
Re: Intentando escribir un script que agregue los resultados del análisis de regresión a una hoja de cálculo de Excel existenteExcelente, ¡gracias Jim!