Mantener columnas duplicadasHola,
Tengo 2 tablas de datos y estas tablas son similares hasta cierto punto donde los parámetros de prueba (lo que significa que quizás el 30% de las columnas comparten el mismo nombre) son iguales ya que son diferentes según la ubicación de la prueba, por lo que el resultado de la prueba también será diferente. Tengo la intención de combinar esta tabla usando Actualizar y al mismo tiempo mantener los datos de las columnas de la segunda tabla, pero renombrar automáticamente esas columnas para poder verlas una al lado de la otra. ¿Se puede hacer esto a través de scripts?
Gracias.
Re: Mantener columnas duplicadasGracias ih y Jim. Así es en circunstancias normales, con menos variables, la tabla se puede unir sin ningún problema.
Re: Mantener columnas duplicadasPara ampliar el punto de Jim, deberá unirse por fila, ya que no parece tener un par de claves como en una unión típica.Me cuesta entender por qué unirías las mesas de esta manera; ¿SN AX0001 se relaciona con STX0030 pero no con STX0031?Si es así, tal vez haya otra columna que podría agregar a ambas tablas para unirlas de una manera más significativa.
Re: Mantener columnas duplicadasLo que está solicitando es la acción predeterminada que se toma en JMP cuando une 2 tablas de datos.Si tienen columnas con el mismo nombre en ambas tablas de datos, JMP cambia el nombre de las columnas.Aquí hay una versión de secuencia de comandos, sin embargo, si tiene 2 tablas, puede hacerlo de forma interactiva al
Mesas==>Únete
Names Default To Here( 1 );
dt1 = Open( "$SAMPLE_DATA\big class.jmp" );
dt2 = Open( "$SAMPLE_DATA\big class Families.jmp" );
Data Table( "big class Families" ) << Join( With( Data Table( "big class" ) ),
By Row Number );
Re: Mantener columnas duplicadasGracias ih. Aunque esto no es exactamente lo que quiero, pero la idea está ahí. El archivo adjunto es algo que quiero hacer. Unir 2 tablas de datos y renombrar automáticamente las columnas de la segunda tabla de datos que coincidían con la primera tabla de datos. Lo siento, si hay alguna confusión de mi mensaje inicial.
Re: Mantener columnas duplicadasNo estoy seguro exactamente de lo que quiere hacer, pero sí, puede cambiar el nombre de las columnas usando un script.Si abre cada tabla de datos y mantiene referencias separadas para cada una, puede enviarles mensajes a todos ellos para cambiar el nombre de las columnas:
Names default to here( 1 );
//Open two tables
dt1 = Open("$SAMPLE_DATA/Iris.jmp"); //first table
dt1 << Set Name( "Table 1" );
dt2 = Open("$SAMPLE_DATA/Iris.jmp"); //second table (different filename)
dt2 << Set Name( "Table 2" );
//Concatenate tables
dtJoined = dt1 << Concatenate( dt2 );
dtJoined << Set Name( "Combined" );
//Change column names
Column( dt1, "Sepal length" ) << Set Name( "Sepal_length" );
Column( dt2, "Sepal length" ) << Set Name( "Sepal_length" );
Column( dtJoined, "Sepal length" ) << Set Name( "Sepal_length" );Si cambia muchos nombres de columna, podría usar una función para reemplazar las últimas tres líneas:
//Make a function to change column names in all tables
ChangeAllNames = function({original, new},
Column( dt1, original ) << Set Name( new );
Column( dt2, original ) << Set Name( new );
Column( dtJoined, original ) << Set Name( new );
);
//Then call the function
ChangeAllNames( "Sepal width", "Sepal_width" );
ChangeAllNames( "Petal length", "Petal_Length" );