Eliminieren doppelter Zeilen (das erste Duplikat behalten)Ich weiß, dass dies bereits besprochen wurde, aber ich suche nach Vorschlägen für meine spezielle Situation. Ich habe eine sehr große Datentabelle (~50 Spalten x 50.000+ Zeilen). Ich muss nach „doppelten Zeilen“ suchen, wobei „doppelt“ bedeutet, dass die Zeilen in drei Spalten übereinstimmen (z. B. ColA, ColB und ColC). Wenn Duplikate vorhanden sind, muss ich alle übereinstimmenden Zeilen außer der ersten löschen.
Idealerweise würde ich dies gerne mit einem Skript tun, da ich die aktualisierte Tabelle häufig erneut abrufen und analysieren muss. Ich vermute, dass ich dabei eine Übersichtstabelle verwenden kann (zumindest werden damit die doppelten Zeilen identifiziert und ausgewählt). Von da an bin ich mir jedoch nicht sicher, wie ich das Durchlaufen jedes Satzes „übereinstimmender“ Zeilen automatisieren und alle bis auf die erste löschen kann.Betreff: Doppelte Zeilen entfernen (erste Duplikat beibehalten)Das ist großartig!
Mittlerweile (in JMP 13) sollte dies gleichwertig sein
// Keep first instance of duplicates only
dt << select where(Col Min(Row(), :a, :b, :c) < Row()) << delete rows;
Betreff: Doppelte Zeilen entfernen (erste Duplikat behalten)JMP 14 verfügt über einen neuen Befehl „Doppelte Zeilen auswählen“ im Menü „Zeilen“, sodass Sie dies direkt tun können, ohne einen Join durchführen zu müssen.
dt << select duplicate rows(match(:a, :b, :c));
dt << delete rows;
Eliminieren doppelter Zeilen (das erste Duplikat behalten)Danke, das hat super funktioniert!Hier ist mein Code für die Skriptversion:
// JMP script to Eliminate duplicate rows "matching Parent, Wafer, & Raw Number"
dt3 = Current Data Table();
dt2 = dt3 << Summary(
Group( :Parent, :Meas Wafer Id, :Raw Number )
);
dt = dt3 << Join(
With( dt2 ),
Update,
By Matching Columns(
:Parent = :Parent,
:Meas Wafer Id = :Meas Wafer Id,
:Raw Number = :Raw Number
),
Drop multiples( 1, 0 ),
Name( "Include non-matches" )(0, 0),
Preserve main table order( 1 ),
);
Close(dt2, no save);
Close(dt3, no save);
Betreff: Doppelte Zeilen entfernen (erste Duplikat beibehalten)Ich würde eine Zusammenfassung für die drei übereinstimmenden Spalten verwenden. Verbinden Sie dann die Übersichtstabelle mit der Originaltabelle, gleichen Sie dieselben drei Spalten ab, wobei die Option zum Löschen von Duplikaten aktiviert ist, und wählen Sie nur die relevanten Spalten aus, die Sie für die Ausgabetabelle benötigen.