Re: Archivos de procesamiento por lotes para extraer datos en una tabla de resumenAntes de comenzar a realizar un bucle, cree una nueva tabla con las columnas Nombre de archivo y Área y déles el formato que desee. La forma más fácil es crear una nueva tabla y luego usar Copiar secuencia de comandos de tabla. ¡Recuerde también asignar una variable de referencia a esa tabla!

Luego, en el ciclo, después de haber calculado el área, puede obtener el nombre de la tabla usando << Obtener nombre y luego agregar las nuevas filas a su tabla de colección con << Agregar filas (). Recuerde también cerrar las tablas e informes innecesarios después de obtener la información relevante de ellos.
Names Default To Here(1);
dt_collector = New Table("Untitled",
Add Rows(0),
New Column("File Name", Character, Nominal, Set Values({})),
New Column("Area", Numeric, "Continuous", Set Values([]))
);
// For(..
// ...
//dt_name = dt << Get Name;
dt_name = "table";
area = 123;
dt_collector << Add Row({File Name = dt_name, Area = area});
//);
Re: Archivos de procesamiento por lotes para extraer datos en una tabla de resumenHe agregado un código que creará una nueva tabla de datos y escribiré el nombre del archivo y el área en la nueva tabla
Names Default to Here( 1 );
//point to file directory
path = Pick Directory( "Select Directory Containing Data Files" );
//Gets the list of files in the selected file folder
file_list = Files In Directory( path );
// Crete beginnings of output data table
dtFinal = New Table( "Final", New Column( "File Name", Character ), New Column( "Area" ) );
//i=0;open file
nfile_list = N Items( file_list );
For( i = 1, i <= nfile_list, i += 1,
//Set Current Directory( dir_DirectoryPath );
dt = Open( path || file_list[i], );
//Calculate area
dt = Current Data Table();
dt << clear row states;
obj3 = dt << Bivariate(
invisible,
Y( :Name( "Data" ) ),
X( :Time ),
Fit Polynomial( 6, {Line Color( {212, 73, 88} )} ),
SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Frame Size( 449, 411 )} ) )
);
//save graph to data dable
obj3 << Save Script to Data Table( "Area" );
//get the prediction formula string and calculate the area under the curve for 30 minute adsoription
fm = Report( obj3 )[Outline Box( "Polynomial ?" )][Text Edit Box( 1 )] << get text;
//get the string to the right of the equal sign and convert the string to an expression using Parse()
fm = Parse( Trim( Word( 2, fm, "=" ) ) );
area = Integrate( fm, :Time, 0, 3600 );
Caption( "The area under this curve is " || Char( area ) );
Print( area );
// Add information to Final data table
dtFinal << add rows( 1 );
dtFinal:File Name[N Rows( dtFinal )] = file_list[i];
dtFinal:area[N Rows( dtFinal )] = area;
);Re: Archivos de procesamiento por lotes para extraer datos en una tabla de resumen¡Gracias! También diste una buena explicación detallada. Fácil de seguir 
Re: Archivos de procesamiento por lotes para extraer datos en una tabla de resumen¡Gracias! Vi la otra respuesta primero, pero también me gusta esta.
Archivos de procesamiento por lotes para extraer datos en una tabla de resumenTengo varios archivos en los que quiero realizar un análisis. Quiero crear un bucle para abrir el archivo, realizar el análisis, calcular un valor "área bajo una curva" en este ejemplo y luego hacer una tabla de resumen con el nombre del archivo y el área. Puedo abrir los archivos desde una carpeta y realizar el análisis. No estoy seguro de cómo crear la tabla de resumen. He dado un ejemplo con 2 archivos pero tengo muchos más archivos que me gustaría procesar de esta manera. ¡Cualquier ayuda u orientación es muy apreciada! También hágamelo saber si esto no tiene sentido o si se necesita más información.
//point to file directory
path = Pick Directory( "Select Directory Containing Data Files" );
//Gets the list of files in the selected file folder
file_list = Files In Directory( path );
//i=0;open file
nfile_list = N Items( file_list );
For( i = 1, i <= nfile_list, i += 1,
//Set Current Directory( dir_DirectoryPath );
dt = Open( path || file_list[i], );
//Calculate area
dt = Current Data Table();
dt << clear row states;
obj3 = dt << Bivariate(
Y( :Name( "Data" ) ),
X( :Time ),
Fit Polynomial( 6, {Line Color( {212, 73, 88} )} ),
SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Frame Size( 449, 411 )} ) )
);
//save graph to data dable
obj3 << Save Script to Data Table( "Area" );
//get the prediction formula string and calculate the area under the curve for 30 minute adsoription
fm = Report( obj3 )[Outline Box( "Polynomial ?" )][Text Edit Box( 1 )] << get text;
//get the string to the right of the equal sign and convert the string to an expression using Parse()
fm = Parse( Trim( Word( 2, fm, "=" ) ) );
area = Integrate( fm, :Time, 0, 3600 );
Caption( "The area under this curve is " || Char( area ) );
Print( area );
);
Ejemplo de Mesa Final que me gustaría tener:

Cualquier ayuda con esto sería muy apreciada. Gracias
La personalización en masa