Wenn Sie ein dt3 mit dt1 erstellen, werden alle Zeilen sowie dt2-Zeilen, die nicht mit der Spalte "Id" mit dt1 übereinstimmen, nur wenige Spalten in dt1 und dt2 angezeigtIch möchte das Ergebnis erhalten von: Vergleiche dt1 mit dt2. Wenn "Id" nicht übereinstimmt, erstelle eine neue Tabelle dt3 mit dt1 für alle Zeilen und füge die nicht übereinstimmenden Zeilen in dt2 zu dt1 hinzu und wähle 3 aus Spalten (Name, Los, EPval) werden in dt3 angezeigt. Vielen Dank
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"} ) )
);DatentabelleBetreff: Wie man ein dt3 mit dt1 alle Zeilen erstellt, plus dt2 Zeilen, die nicht mit der "Id" -Spalte mit dt1 übereinstimmen, zeigt nur wenige Spalten in dt1 und dt2Danke für deine Antwort. Aber führen Sie das Skript aus? In meinem PC funktioniert es nicht. Ich benutze JMP14, bin mir nicht sicher, ob es daran liegt. der dt3 erscheint nicht
Betreff: Wie man ein dt3 mit dt1 alle Zeilen erstellt, plus dt2 Zeilen, die nicht mit der "Id" -Spalte mit dt1 übereinstimmen, zeigt nur wenige Spalten in dt1 und dt2Anscheinend habe ich versehentlich das "With" -Element der Zusammenführung gelöscht. Ich bin mir nicht sicher, wie ich es gemacht habe ... aber ... hier ist der korrigierte Code
/*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 )
);
Betreff: Wie man ein dt3 mit dt1 alle Zeilen erstellt, plus dt2 Zeilen, die nicht mit der "Id" -Spalte mit dt1 übereinstimmen, zeigt nur wenige Spalten in dt1 und dt2
Dies ist das Protokoll funktioniert immer noch nicht. Ich kann ein weiteres Beispiel posten, um diese Frage zu stellen. Wenn das zweite Beispiel funktioniert, können wir dieses Beispiel ignorieren.
//: * /
dt3 = dt1 << Join (
Durch Abgleichen von Spalten (: Id =: Id),
Drop Multiples (0, 0),
Nonmatches einschließen (1, 1),
Reihenfolge der Haupttabelle beibehalten (1)
);
/ *:
Mit unbekannter Datentabelle verbinden {3}
Betreff: Wie man ein dt3 mit dt1 alle Zeilen erstellt, plus dt2 Zeilen, die nicht mit der "Id" -Spalte mit dt1 übereinstimmen, zeigt nur wenige Spalten in dt1 und dt2Alles was Sie tun müssen, ist zu verwenden
Tabellen ==> Beitreten
und geben Sie "Nichtübereinstimmungen einschließen" für die Haupt- und die With-Tabelle an
/*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 )
);Betreff: Wie man ein dt3 mit dt1 alle Zeilen erstellt, plus dt2 Zeilen, die nicht mit der "Id" -Spalte mit dt1 übereinstimmen, zeigt nur wenige Spalten in dt1 und dt2Der Code, den Sie anzeigen, ist nicht der korrigierte Code, den ich gepostet habe. Der korrigierte JOIN-Code lautet
dt3 = dt1 << Join( with(dt2),
By Matching Columns( :Id = :Id ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 1 ),
Preserve main table order( 1 )
);