Re: [error JSL] Concatenar todas las tablas abiertas en 1 tabla y cerrar todas¡Muchas gracias! esto es lo que estoy buscandoRe: [error JSL] Concatenar todas las tablas abiertas en 1 tabla y cerrar todasEsto es genial, gracias Jim.
Re: [error JSL] Concatenar todas las tablas abiertas en 1 tabla y cerrar todasVaya, lo siento Jim, @txnelson , no vi tu respuesta.
Re: [error JSL] Concatenar todas las tablas abiertas en 1 tabla y cerrar todas@Stokes ,
El script que publicaste está creando un montón de tablas nuevas.Nota de la comunidad: no sé si hay una sintaxis para cerrar una lista de pestañas de datos, por lo tanto, For Loop se usa para cerrar las tablas de origen una a la vez, por nombre, no por número.
Names Default to Here(1);
//Careful, this closes all data tables
close all(Data Tables);
//now create similar looking tables
dt = Open("$Sample_Data/Big Class.jmp");
dt << Subset( By (:age));
//close Big Class, keep all the age subset tables open
close(dt,NoSave);
// Create your Tables list
nt = N Table();
Tables = {};
For( i = 1, i <= nt, i++,
Insert Into( Tables, Eval Expr( Data Table( Expr( Data Table( i ) << get name ) ) ) )
);
final = Concatenate( Tables, Create Source Column, Output Table Name( "Big Class Redux" ) );
//close all in the list
For( i = 1, i <= nt, i++,
Eval( Eval Expr( Close( Expr( Tables[i] ), NoSave ) ) )
);
Re: [error JSL] Concatenar todas las tablas abiertas en 1 tabla y cerrar todasHacer lo que quiere hacer, si no quiere la columna de la tabla de origen, es muy simple
Names Default To Here( 1 );
Clear Globals();
// Create your Tables list
Tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( Tables, Data Table( i ) << get name );
);
new Table("all data");
// Run the concatinations
For( i = 1, i <= N Items( Tables ), i++,
Data Table( "all data" ) << Concatenate(
Data Table( Tables[i] ),
append to first table(1)
);
Close( Data Table( Tables[i] ), No Save );
);
Se vuelve más complejo si desea una tabla de origen.Usando la opción integrada de "Crear columna de origen", se producirá una nueva columna de tabla de origen para cada concatenación que realice.Así que es necesario hacer algunos ajustes.A continuación se muestra un script de trabajo que debería darle lo que desea
Names Default To Here( 1 );
Clear Globals();
// Create your Tables list
Tables = {};
TablesN = {};
For( i = 1, i <= N Table(), i++,
Insert Into( Tables, Data Table( i ) << get name );
for(k=1,k<=n rows(data table(i)),k++, insert into(TablesN,data table( i ) << get name));
);
new Table("all data");
// Run the concatinations
For( i = 1, i <= N Items( Tables ), i++,
Data Table( "all data" ) << Concatenate(
Data Table( Tables[i] ),
append to first table(1)
);
Close( Data Table( Tables[i] ), No Save );
);
data table( "all data" ) << add multiple columns("Source Table", 1, before first, character );
:Source Table << set values( TablesN );[Error de JSL] Concatenar todas las tablas abiertas en 1 tabla y cerrar todas¿Alguien puede ayudarme a echar un vistazo debajo de jsl?
Estoy tratando de usarlo para concatenar todas las tablas abiertas en una sola tabla, y cerrar todas las tablas abiertas, solo dejar una tabla final que fue concatenada de todas ellas.
Cuando ejecuto el jsl, tiene un error para reproducir múltiples tablas "finales" y no concatenar en 1 sola tabla.
No está claro de dónde viene el error.
Gracias
Clear Globals();
// Create your Tables list
Tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( Tables, Data Table( i ) << get name )
);
// Run the concatinations
For( i = 1, i < N Items( Tables ), i++,
ConcTable = Data Table( Tables[i] ) << Concatenate(
Data Table( Tables[i + 1] ),
Create source column,
Output Table Name( "final" )
);
Close( Data Table( Tables[i] ), No Save );
);
Investigación del Consumidor y del Mercado