rimozione di elementi duplicati in una tabella<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti,
ho una tabella con ~ 20 colonne e circa 500 righe, due di queste colonne sono il numero di serie e il timestamp, e il resto sono dati di misurazione vari.
in alcuni casi ho righe di dati che hanno lo stesso numero di serie ma tutti gli altri valori sono diversi.
il mio obiettivo è scrivere uno script per ripulire la tabella dei dati in modo che rimangano solo le righe con un numero di serie univoco.
Voglio prima selezionare gli elementi con lo stesso numero di serie e quindi identificare da quel sottoinsieme quello con l'ultimo Timestamp (che è solo un valore numerico) ed eliminare il resto,
quindi ho un tavolo ripulito con un numero di serie unico rimasto.
Apprezzerei se qualcuno qui potesse guidarmi su come scrivere questo pezzo di codice. ho esaminato altri esempi sul forum, ma sto ancora lottando con questo.
Grazie
Bble, strappato
Ri: rimuovere elementi duplicati in una tabellaSe non stai cercando una soluzione di scripting. Puoi farlo in modo interattivo creando una colonna di stato riga con una formula.

Questo utilizza la funzione Col Maximum che accetta argomenti facoltativi per By Variables.
È inoltre possibile utilizzare questa funzione con il messaggio Seleziona dove in uno script.
dt = Open( "$DATI_ESEMPIO\Big Class.jmp");
dt << seleziona dove(
Altezza== Col Max(
Altezza, età, sesso
)
);
- Jeff
Ri: rimuovere elementi duplicati in una tabellaciao mpb,
Fantastico !, modificato per adattarlo ai miei dati e sicuramente funziona perfettamente!
molte grazie
saluti
Ri: rimuovere elementi duplicati in una tabellaQuesto codice mostra un modo per farlo. L'ho eseguito contro questi dati:

mydt = tabella dati("MyDemo");
mydtsummary = Tabella dati( "MyDemo" ) << Riepilogo(
Gruppo( :SN ),
Massimo( :DT ),
formato del nome della colonna delle statistiche ("stat of column")
);
mydt << Aggiorna(
With( Data Table( mydtsusumary) ),
Corrispondenza colonne( :SN = :SN ),
Aggiungi colonne dalla tabella di aggiornamento (: Max of DT)
);
mydt << seleziona dove(:DT == :Max di DT) << inverte la selezione della riga;
mydt << cancella righe;
mydt << elimina colonne("Max di DT");
close(mydtsusumary, nosave);