Accatastamento di una colonna di gruppo in una NUOVA Tabella datiCiao,
Ho il prossimo codice. Nelle ultime righe cerco di impilare alcune colonne. Il problema è che quando eseguo lo script vedo solo 1 colonna impilata anche se devo vedere più di 1 (in base alla lunghezza dell'elenco all'interno del codice)
);<BR /><BR />dt = open("C:\JMPCommunity\DataTableExample.jmp");
s_list = {sen1, sen2, sen3, sen4, sen5};
test_list ={test1, test2, test3};
tokens_list={Col1, Col2, Col3};
g_list={g1,g2,g3};
For(j = 1, j<=Length(test_list), j++,
For( i = 1, i<= Length(s_list), i++,
dt << New Column ( test_list[j] ||"_" || s_list[i],
Numeric,
Continuous,
Formula(
Num(Word( i, As Column(Column(tokens_list[j] )), "|" ))
)
)
);
g_list[j] = dt << Group Columns(:( || test_list[j]|| "_" || s_list[1]), Length(s_list));<BR /> dt << Stack(columns(dt << Get Column Group( g_list[j] );),<BR /> Source Label Column( "Label_" || test_list[j] ),<BR /> Stacked Data Column( "Data_" || test_list[j])<BR /> );<BR />
Le mie Q sono:
1. Come può essere risolto il problema.
2. Come può la nuova tabella di dati aperta sarà un nuovo dt (che non viene aggiornato da quello originale)?
Un esempio di dt è allegato
Ri: Impilare una colonna di gruppo in una NUOVA Tabella datiCiao,
Penso che ci sia un problema. L'ultima tabella aperta genera più file del necessario.
Ad esempio: il primo stack DT è ciò di cui ho bisogno consiste in 10 righe di dati. L'ultimo DT include 250 celle di dati !!
Questo è X25. Ora, in realtà se ho una tabella di 10 ^ 6 o più righe, sarà estremamente moltiplicata e forse l'elaborazione dei dati del computer terminerà ....
Secondo l'esempio che ho allegato, devo ottenere 3 colonne impilate di Label & Data che sono solo 10 righe di celle.
Penso a MultipleSeriesStack ma non sono sicuro di come inserirlo nel mio codice
Ri: Impilare una colonna di gruppo in una NUOVA Tabella datiDopo aver corretto l'aggiunta di un ': Column (' nelle colonne Group (messaggio, lo script sembra funzionare eccetto che crea tre diverse tabelle, ognuna con una singola serie di colonne raggruppate. Se si desidera continuare ad aggiungere colonne alla tabella appena creata (che è ciò che ritengo di volere), è necessario fare riferimento alla tabella appena creata. Ecco un modo per farlo:
Names default to here( 1 );
s_list = {sen1, sen2, sen3, sen4, sen5};
test_list ={test1, test2, test3};
tokens_list={Col1, Col2, Col3};
g_list={g1,g2,g3};
dt = list();
dt[1] = open("C:\Users\a384681\Downloads\DataTableExample.jmp");
For(j = 1, j<=Length(test_list), j++,
For( i = 1, i<= Length(s_list), i++,
dt[j] << New Column ( test_list[j] ||"_" || s_list[i],
Numeric,
Continuous,
Formula(
Num(Word( i, As Column(Column(tokens_list[j] )), "|" ))
)
)
);
g_list[j] = dt[j] << Group Columns(:Column(test_list[j] || "_" || s_list[1]), Length(s_list));
dt[j+1] = dt[j] << Stack(
columns(dt[j] << Get Column Group( g_list[j] );),
Source Label Column( "Label_" || test_list[j] ),
Stacked Data Column( "Data_" || test_list[j])
);
);