Apilando una columna de grupo en una NUEVA tabla de datosHola,
Tengo el siguiente código. En las últimas líneas trato de apilar algunas columnas. El problema es que cuando ejecuto el script solo veo 1 columna apilada aunque necesito ver más de 1 (según la longitud de las listas dentro del código)
);<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 />
Mis preguntas son:
1. ¿Cómo se puede solucionar el problema.
2. ¿Cómo puede la nueva tabla de datos abierta ser un nuevo dt (que no se actualiza con el original)?
Se adjunta un ejemplo dt
Re: Apilar una columna de grupo en una NUEVA tabla de datosHola,
Creo que hay un problema. La última tabla que se abre genera más filas de las necesarias.
Por ejemplo: la primera pila de DT es lo que necesito consiste en 10 filas de datos. El último DT incluye 250 celdas de datos !!
Esto es X25. Ahora, en realidad, si tengo una tabla de 10 ^ 6 o más filas, se multiplicará extremadamente y tal vez el procesamiento de datos de la computadora terminará ...
De acuerdo con el ejemplo que he adjuntado, debo obtener 3 columnas apiladas de Etiqueta y Datos que son solo 10 filas de celdas.
Pienso en MultipleSeriesStack pero no estoy seguro de cómo insertarlo en mi código
Re: Apilar una columna de grupo en una NUEVA tabla de datosDespués de corregir la adición de una ': Columna (' en las Columnas de grupo (mensaje, el script parece funcionar, excepto que crea tres tablas diferentes, cada una con un único conjunto de columnas agrupadas). Si desea seguir agregando columnas a la tabla recién creada (que es lo que creo que quiere), deberá hacer referencia a la tabla recién creada. Aquí hay una forma de hacerlo:
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])
);
);