Concatenar una lista de tablas y agregar una "columna de origen"Tengo una lista de tablas abiertas (nombres) que quiero concatenar y agregar una nueva “columna de origen” que se puede recuperar de la misma lista de nombres de tablas. He probado todas las "soluciones anteriores: publicadas en este tablero de discusión sin suerte (solo suerte parcial)
Puedo obtener mis tablas concatenadas siguiendo una solución publicada por TXNelson, pero parece que no puedo hacer que funcione la "columna de origen".Agradeceré cualquier ayuda para resolver este.
tables = {"R1", "R2", "R3"};
TablesN ={};
For(k = 1, k <= n Rows ( Data Table(tables[i] )),k++,
Insert Into(TablesN, Data Table (tables [i] ) << get name));<BR />
// the concatenation works like a charm
Data Table = New Table ("RST");
For( i = 1, i <= N Items( tables ), i++,
Data Table( "RST" ) << Concatenate(
Data Table( tables[i] ),
append to first table(1)
);
//Close( Data Table( tables[i] ), No Save );
);
// this part fails<BR />
data table( "RST" ) << add multiple columns("Source Table", 1, before first, character );
:Source Table << set values( TablesN );ScriptingRe: Concatenar una lista de tablas y agregar una "columna de origen"La última parte debería funcionar si la lista tiene algún valor. Mira el primer bucle for; usa k como iterador pero dentro del bucle yo, no definido, se utiliza como índice de lista.
También se puede crear una columna de origen automáticamente con Concatenar () como en el siguiente ejemplo .
// Create a list of data tables
names = {"R1", "R2", "R3"};
tables = {};
For( i = 1, i <= N Items( names ), i++,
Insert Into( tables, Data Table( names[i] ) )
);
// Concat all and create a source column in one step
dt = New Table( "RST" );
dt << concatenate( tables, append to first table( 1 ), create source column( 1 ) );
Re: Concatenar una lista de tablas y agregar una "columna de origen"Hola MS,
Probé tu código:
dt = New Table( "RST" );
dt << concatenate( tables, append to first table( 1 ), create source column( 1 ) );
y crea una ventana emergente que me permitiría seleccionar las tablas para concatenar, lo que frustra el propósito de crear un script para automatizar el proceso.No recorre la lista de "tablas".Estoy usando JMP 15.
Para su información, esta es la publicación que he estado usando para guiarme. Gracias.
https://community.jmp.com/t5/Discussions/JSL-bug-Concatenate-all-opened-table-into-1-table-and-close-all/mp/275804
Re: Concatenar una lista de tablas y agregar una "columna de origen"La lista mesas debe contener objetos de tabla de datos (la primera parte de mi código ilustra una forma de crear dicha lista) y todas las tablas deben estar abiertas cuando se ejecuta el código. De lo contrario, obtendrá la ventana pop-ip.
Después de ejecutar el código, puede cerrar todas las tablas de datos (guardadas) en la lista en un paso con tablas << cerrar ventana ;.