Concatena un elenco di tabelle e aggiungi una "Colonna di origine"Ho un elenco di tabelle aperte (nomi) che desidero concatenare e aggiungere una nuova "Colonna di origine" che può essere recuperata dallo stesso elenco di nomi di tabella. Ho provato tutte le precedenti "soluzioni: pubblicate su questo forum di discussione senza fortuna (solo fortuna parziale)
Posso ottenere le mie tabelle concatenate seguendo una soluzione pubblicata da TXNelson, ma non riesco a far funzionare la "colonna di origine".Apprezzerò qualsiasi aiuto per risolvere questo problema.
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 );ScriptingRi: Concatena un elenco di tabelle e aggiungi una "Colonna di origine"L'ultima parte dovrebbe funzionare se l'elenco ha dei valori. Controlla il primo ciclo for; utilizza K come iteratore ma all'interno del ciclo io, non definito, viene utilizzato come indice della lista.
È anche possibile creare automaticamente una colonna di origine con Concatenate () come nell'esempio seguente .
// 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 ) );
Ri: Concatena un elenco di tabelle e aggiungi una "Colonna di origine"Ciao MS,
Ho testato il tuo codice:
dt = New Table( "RST" );
dt << concatenate( tables, append to first table( 1 ), create source column( 1 ) );
e crea una finestra pop-up che mi permetterebbe di selezionare le tabelle da concatenare, vanificando lo scopo di creare uno script per automatizzare il processo.Non scorre l'elenco delle "tabelle".Sto usando JMP 15.
Cordiali saluti, questo è il post che ho usato per guidarmi. Grazie.
https://community.jmp.com/t5/Discussions/JSL-bug-Concatenate-all-opened-table-into-1-table-and-close-all/mp/275804
Ri: Concatena un elenco di tabelle e aggiungi una "Colonna di origine"La lista tavoli deve contenere oggetti della tabella dati (la prima parte del mio codice illustra un modo per creare tale elenco) e tutte le tabelle devono essere ancora aperte quando il codice viene eseguito. Altrimenti otterrai la finestra pop-ip.
Dopo aver eseguito il codice, è possibile chiudere tutte le tabelle di dati (salvate) nell'elenco in un unico passaggio con tabelle << chiudi finestra ;.