Come faccio a eliminare le righe duplicate?The deletion of duplicate rows is starting to frustrate me! I'm on version 18.
In the following script I have Sorted the table on SN (asc), Date & Time (desc). I then create a New Column "DuplicateFlag" and then apply the Formula If( Lag(:SN, 1) == :SN, 1, 0 ). This adds 0 for no duplicate and 1 for duplicate. We then Select the rows = to 1 and Delete the Selected Rows.<BR /><BR />This appears to work great when the Date and Time are of different values for the associated SN. However, when the Date & Time are the same for the associated SN it does not delete the duplicate SN.<BR /><BR />What suggestions to ensure that all duplicate SN's are successfully deleted.
// Sort the SIDE_1_PRE_MTG table by SN (ascending), Date (descending), and Time (descending)
dt_sort = dt_erroneousdelete << Sort(
By( :SN, :Date, :Time ),
Order( Ascending, Descending, Descending ),
Replace Table
);
// Add a DuplicateFlag column to mark duplicate SN entries
dt_sort << New Column("DuplicateFlag",
Numeric,
"Continuous",
Formula(
If( Lag(:SN, 1) == :SN, 1, 0 )
)
);
// Select rows where DuplicateFlag is 1 and delete them
dt_sort << Select Where( :DuplicateFlag == 1 );
dt_sort << Delete Rows; // Deletes the selected rows
// Remove the DuplicateFlag column after deleting duplicates
dt_sort << Delete Columns("DuplicateFlag");Automazione e scriptingR: Come faccio a eliminare le righe duplicate?Molto interessante sulle colonne JMP numeriche Date/Time. Dovrò stare attento in futuro.
Apprezzo il tuo suggerimento.
Giovanni
R: Come faccio a eliminare le righe duplicate?Ho capito il mio problema, era correlato a un join da un'altra tabella che, a mia insaputa, aveva dei duplicati. Una volta ripulita quella tabella rimuovendo i duplicati, tutto ha funzionato correttamente.
Ho utilizzato il tuo codice per eliminare i duplicati nella tabella a cui mi ero unito e ha funzionato perfettamente.
Grazie
R: Come faccio a eliminare le righe duplicate?Le colonne Data e Ora sono colonne Data/Ora numeriche JMP? In tal caso, i valori visualizzati per la colonna Data potrebbero essere gli stessi, ma i valori numerici effettivi (numero di secondi dal 01JAN1904) potrebbero essere diversi. Modifica il formato di visualizzazione per la colonna Data in Fixed Dec, 20, 4 e verifica se ci sono differenze.
R: Come faccio a eliminare le righe duplicate?Se ho capito bene cosa stai cercando di fare, Select Duplicate Rows dovrebbe funzionare https://www.jmp.com/support/help/en/18.0/#page/jmp/select-rows.shtml# . Puoi fornire un set di dati (il mockup probabilmente va bene) in cui contrassegni le righe che desideri eliminare.
R: Come faccio a eliminare le righe duplicate?Ho provato il semplicistico suggerimento che hai proposto, ma non ha funzionato.
Il problema sembra presentarsi quando le 3 colonne in base alle quali ordino...
SN in ordine ascendente, Data in ordine discendente e Ora in ordine discendente (questo mette il record più recente per SN in cima o per primo in linea), sono tutti gli stessi valori. In base allo screenshot allegato, puoi vedere che SN, Data e Ora sono tutti gli stessi valori per SN associato (ho codificato a colori ogni set corrispondente).
R: Come faccio a eliminare le righe duplicate?Non sono sicuro di seguire esattamente ciò che stai cercando. Funzionerebbe qualcosa del genere, ma modificato per la tua tabella dati?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select duplicate rows( Match( :age, :height ) );
dt << Delete rows ();