Cómo crear un dt3 con dt1 todas las filas, más las filas de dt2 que no coinciden con la columna "Id" con dt1, el resultado solo muestra algunas columnas en dt1 y dt2Quiero obtener el resultado de: comparar dt1 con dt2, si hay "Id" no coinciden, entonces cree una nueva tabla dt3 con dt1 en todas las filas, y agregue las filas no coincidentes en dt2 en dt1, y elija 3 las columnas (nombre, lote, EPval) se muestran en dt3. muchas gracias
dt1 = New Table( "test",
addrows( 3 ),
New Column( "lot", character, values( {"K1", "K2", "K3"} ) ),
New Column( "Id", numeric, values( {"11889922", "11776620", "22889955"} ) ),
New Column( "EPval", numeric, values( {1, 2, .} ) ),
New Column( "Name", character, values( {"John", "Joe", "PP"} ) )
);
dt2 = New Table( "test",
addrows( 3 ),
New Column( "lot", character, values( {"K1", "K2", "K3"} ) ),
New Column( "Id", numeric, values( {"33888822", "11776620", "22889955"} ) ),
New Column( "EPval", numeric, values( {1, 2, .} ) ),
New Column( "Mgr", character, values( {"J", "H", "P"} ) )
);Tabla de datosRe: Cómo crear un dt3 con dt1 todas las filas, más las filas dt2 que no coinciden con la columna "Id" con dt1, el resultado solo muestra algunas columnas en dt1 y dt2gracias por su respuesta. ¿Pero ejecuta el script? No funciona en mi PC. Estoy usando JMP14, no estoy seguro si es por esto. el dt3 no aparece
Re: Cómo crear un dt3 con dt1 todas las filas, más las filas dt2 que no coinciden con la columna "Id" con dt1, el resultado solo muestra algunas columnas en dt1 y dt2Aparentemente, eliminé inadvertidamente el elemento "Con" de la combinación. No estoy seguro de cómo lo hice ... pero ... aquí está el código corregido
/*I Want to get the result of: compare dt1 with dt2, if there are "Id" don't match then create a new table dt3 with dt1 all rows, and add the don't match rows in dt2 into dt1, and pick 3 columns(name, lot, EPval) show out in dt3. thanks a lot */
dt1 = New Table( "test",
addrows( 3 ),
New Column( "lot", character, values( {"K1", "K2", "K3"} ) ),
New Column( "Id", numeric, values( {"11889922", "11776620", "22889955"} ) ),
New Column( "EPval", numeric, values( {1, 2, .} ) ),
New Column( "Name", character, values( {"John", "Joe", "PP"} ) )
);
dt2 = New Table( "test",
addrows( 3 ),
New Column( "lot", character, values( {"K1", "K2", "K3"} ) ),
New Column( "Id", numeric, values( {"33888822", "11776620", "22889955"} ) ),
New Column( "EPval", numeric, values( {1, 2, .} ) ),
New Column( "Mgr", character, values( {"J", "H", "P"} ) )
);
// I assumed that there
dt3 = dt1 << Join( with(dt2),
By Matching Columns( :Id = :Id ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 1 ),
Preserve main table order( 1 )
);
Re: Cómo crear un dt3 con dt1 todas las filas, más las filas dt2 que no coinciden con la columna "Id" con dt1, el resultado solo muestra algunas columnas en dt1 y dt2
Este es el registro que todavía no funciona. Puedo publicar otro ejemplo para hacer esta pregunta. SI el segundo ejemplo funciona, podemos ignorar este ejemplo.
//: * /
dt3 = dt1 << Unir (
Por columnas coincidentes (: Id =: Id),
Eliminar múltiplos (0, 0),
Incluir no coincidencias (1, 1),
Conservar el orden de la mesa principal (1)
);
/ *:
Unir con tabla de datos desconocida {3}
Re: Cómo crear un dt3 con dt1 todas las filas, más las filas dt2 que no coinciden con la columna "Id" con dt1, el resultado solo muestra algunas columnas en dt1 y dt2Todo lo que necesitas hacer es usar
Tablas ==> Unir
y especifique "Incluir no coincidencias" para la tabla principal y con
/*I Want to get the result of: compare dt1 with dt2, if there are "Id" don't match then create a new table dt3 with dt1 all rows, and add the don't match rows in dt2 into dt1, and pick 3 columns(name, lot, EPval) show out in dt3. thanks a lot */
dt1 = New Table( "test",
addrows( 3 ),
New Column( "lot", character, values( {"K1", "K2", "K3"} ) ),
New Column( "Id", numeric, values( {"11889922", "11776620", "22889955"} ) ),
New Column( "EPval", numeric, values( {1, 2, .} ) ),
New Column( "Name", character, values( {"John", "Joe", "PP"} ) )
);
dt2 = New Table( "test",
addrows( 3 ),
New Column( "lot", character, values( {"K1", "K2", "K3"} ) ),
New Column( "Id", numeric, values( {"33888822", "11776620", "22889955"} ) ),
New Column( "EPval", numeric, values( {1, 2, .} ) ),
New Column( "Mgr", character, values( {"J", "H", "P"} ) )
);
// I assumed that there
dt3 = dt1 << Join( with(dt2),
By Matching Columns( :Id = :Id ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 1 ),
Preserve main table order( 1 )
);Re: Cómo crear un dt3 con dt1 todas las filas, más las filas dt2 que no coinciden con la columna "Id" con dt1, el resultado solo muestra algunas columnas en dt1 y dt2El código que está mostrando no es el código corregido que publiqué. El código JOIN corregido es
dt3 = dt1 << Join( with(dt2),
By Matching Columns( :Id = :Id ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 1 ),
Preserve main table order( 1 )
);