Necesita información para transformar una tabla o matriz<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Esta pregunta está relacionada o es un seguimiento de mi publicación anterior ( Necesita sugerencias sobre la mejor manera de agregar una columna de tabla para una ID que haga esto ... ). En esa publicación, mi pregunta fue respondida específicamente y aprendí muchos consejos. Sin embargo, nuevamente necesito una buena sugerencia sobre cómo manipular una tabla o matriz para transformarla de la forma original a la forma prevista.
Suponiendo que esta es mi tabla original (o matriz de forma similar):
Tabla 1: Tabla original
| Columna A | Columna B | Columna c | Columna d |
| una | mi | yo | metro |
| segundo | F | j | norte |
| do | sol | k | o |
| re | h | l | pag |
Quería que cada fila de esta tabla (o matriz) se repitiera "n" veces, de modo que la tabla resultante (o matriz) se vería así:
Tabla 2: Nuevo formato de tabla previsto
| Columna A | Columna B | Columna c | Columna d |
| una | mi | yo | metro |
| una | mi | yo | metro |
| una | mi | yo | metro |
| una | mi | yo | metro |
| segundo | F | j | norte |
| segundo | F | j | norte |
| segundo | F | j | norte |
| segundo | F | j | norte |
| do | sol | k | o |
| do | sol | k | o |
| do | sol | k | o |
| do | sol | k | o |
| re | h | l | pag |
| re | h | l | pag |
| re | h | l | pag |
| re | h | l | pag |
En el ejemplo anterior, cada fila de la tabla original se repitió "4" veces.
Mientras jugaba a "modelar" una matriz y aplicar la sugerencia de concatenar tablas "n" veces de mi publicación anterior, pude crear esta tabla (de mi tabla original)
Tabla 3: alguna forma manipulada de la Tabla 1 realizada al modelar la matriz y repetir las filas "n" veces
| Columna A | Columna B | Columna c | Columna d | Columna e | Columna F | Columna g | Columna h | Columna I | Columna j | Columna K | Columna l | Columna m | Columna N | Columna o | Columna p |
| una | mi | yo | metro | segundo | F | j | norte | do | sol | k | o | re | h | l | pag |
| una | mi | yo | metro | segundo | F | j | norte | do | sol | k | o | re | h | l | pag |
| una | mi | yo | metro | segundo | F | j | norte | do | sol | k | o | re | h | l | pag |
| una | mi | yo | metro | segundo | F | j | norte | do | sol | k | o | re | h | l | pag |
Sin embargo, estoy atrapado aquí. Hubiera querido que esta tabla se pareciera a mi tabla prevista (Tabla 2) como se describe anteriormente. Agradezco cualquier comentario y sugerencia. Creo que hay maneras más intuitivas y eficientes de manejar esto que las que tengo en mente. Gracias.
Re: Necesidad de entradas en la transformación de una tabla o matrizAgregando a la respuesta de Ian:
La clonación de la tabla se puede hacer en un solo paso.
Nombres predeterminados aquí (1);
dt = tabla de datos actual ();
dt << concatenar (dt, dt, dt, adjuntar a la primera tabla (1));
dt << Ordenar (Por (Columna A));
En muchos casos donde he usado esta técnica, no existe una columna para ordenar para obtener el orden final. Entonces, lo que hago en ese caso es crear tal columna.
Nombres predeterminados aquí (1);
dt = tabla de datos actual ();
dt << nueva columna ("rownum", valores (1 :: N filas (dt));
dt << concatenar (dt, dt, dt, adjuntar a la primera tabla (1));
dt << Ordenar (por (Rownum));
dt << eliminar columnas ("rownum");
Re: Necesidad de entradas en la transformación de una tabla o matrizParece que te dará la "Tabla 2" más arriba. En JSL (si 'dt' es una referencia a su tabla):
dt << Ordenar (Por (: Columna A));
Re: Necesidad de entradas en la transformación de una tabla o matrizAcabo de pensar en algo ahora ... Creo que es posible simplemente clonar la tabla original "n" veces ... y luego simplemente ordene las filas de acuerdo con una determinada columna (digamos Columna A). ¿Crees que esto funciona?