Script para transponer datos en una tabla de datos existenteHola,
Me gusta encontrar un script para transponer datos. Y estos datos deben insertarse en la última fila de un archivo existente. Siguiendo cómo transpongo los datos:
Tabla de datos ( "pisnapshot Abfrage AL2" ) << Transponer (
columnas ( :valor ) ,
Transponer solo las filas seleccionadas ( 1 ) ,
Tabla de salida ( "Transposición de instantánea AL2" )
) ;
Tabla de datos ( "pisnapshot Abfrage AL2" )
Con eso, JMP copia los datos cada vez que se crea una nueva tabla de datos. ¿Cómo es posible copiarlo en un archivo existente (el archivo está abierto)?
Se me ocurrió la idea de seleccionar la fila transpuesta ("Transposición de instantánea AL2") y copiarla en mi archivo de destino. Pero no pude encontrar un comando para copiar los valores de fila.
Re: Script para transponer datos en una tabla de datos existentela suya es una mejor solución si tiene la columna ":Tag" para hacer coincidir los nombres de las columnasRe: Script para transponer datos en una tabla de datos existenteGracias por su pronta respuesta.
Mientras tanto probé algo diferente. Por eso utilicé la función “concentrar”:
//transponse table
Data Table( "pisnapshot Abfrage AL2" ) << Transpose(
columns( :value ),
Transpose selected rows only( 1 ),
Label( :tag ),
Output Table( "AL2 Snapshot Transpose" ));
//add Table "AL2 Snapshot Transpose" to exsiting table "AL2 Snapshot"
Data Table( "AL2 Snapshot" ) << Concatenate(Data Table( "AL2 Snapshot Transpose" ),Append to first table);
//close table with “no save”
Close(Data Table( "AL2 Snapshot Transpose" ), No Save);
Y funciona perfectamente. Pero probaré tu solución.
Re: Script para transponer datos en una tabla de datos existenteCreo que el siguiente script es una solución más simple a lo que dijiste que querías.
Names Default To Here( 1 );
dt = Current Data Table();
// Get the selected rows
selRows = dt << get selected rows;
If( N Rows( selRows ) > 0,
// Add the row to place the data into
dt << Add Rows( 1 );
// Go from column to column and move the selected data to the new row
For( i = 1, i <= N Cols( dt ), i++,
Column( dt, i )[N Rows( dt )] = Column( dt, N Col( dt ) )[selRows[i]]
);
// Delete the last column
dt << delete columns( Column( dt, N Cols( dt ) ) );
);