Ri: Rimozione dei duplicati dalla tabella dei dati in JMP 15Ecco un esempio del tuo codice che funziona senza errori e come previsto
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
dt << Select duplicate rows( Match( :name ) );
selected = dt << get selected rows;
if (n rows(selected) > 0,
dt << delete rows;
);Ri: Rimozione dei duplicati dalla tabella dei dati in JMP 15Grazie per la risposta!
Sì, funziona bene, tuttavia, ciò che ho notato è che la tabella di dati in cui è necessario rimuovere i duplicati viene creata come sottoinsieme di una tabella più grande. Durante la creazione di un sottoinsieme viene utilizzata un'opzione aggiuntiva "collegata", che è utile, poiché lo script crea diversi diagrammi e selezionando i dati su un grafico associato ai punti salienti della tabella più grande allo stesso tempo i dati sul grafico dalla tabella del sottoinsieme. E questo funziona bene in JMP 14.
Con questa opzione "collegata" in JMP 15 la rimozione dei duplicati non funziona. Senza di essa, funziona come previsto, ma in questo caso la funzionalità dell'applicazione è notevolmente limitata. Ci sono opzioni o comandi aggiuntivi che devono essere considerati per far funzionare tutto ciò?
dt = dt_original << Subset(invisible, linked, Selected Rows( 0 ), selected columns( 1 ), Output Table Name( "Table"));
Ri: Rimozione dei duplicati dalla tabella dei dati in JMP 15Sembra un po 'trasandato, ma funziona bene ed è anche abbastanza veloce.
Prova a unire una tabella a se stessa e rilascia multipli per entrambe le tabelle.
Abbina le colonne in entrambe le tabelle che creano l'identificatore univoco imperfetto per i duplicati.
ecco un esempio
Data Table( "Big Class.jmp" ) << Join(
With( Data Table( "Big Class.jmp" ) ),
By Matching Columns( :name = :name ),
Drop multiples( 1, 1 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 )
)
Questo approccio è guidato dal menu. Basta ottenere lo script di origine dalla tabella dedotta dopo aver eseguito il join.
Ri: Rimozione dei duplicati dalla tabella dei dati in JMP 15Questo codice JSL funziona bene per me:
Nomi predefiniti qui (1); dt = Current Data Table (); // Cancella tabella dati dt << Cancella selezione colonne (); dt << Cancella Seleziona (); // Aggiorna colonne formula dt << Riesegui formule; attendere (0); // Elimina più righe dt << Seleziona righe duplicate (); dt << Elimina righe ();Ri: Rimozione dei duplicati dalla tabella dei dati in JMP 15Grazie per i vostri suggerimenti! Ho provato tutte le soluzioni ma in tutti i casi la rimozione dei duplicati funziona bene se non è presente alcuna opzione "collegata" o "LinkToOriginalDataTable (1)" durante la creazione di un sottoinsieme dalla tabella originale. L'unione con la stessa tabella e la rimozione dei duplicati ha funzionato bene, ma non è stato creato alcun collegamento con la tabella originale. Forse l'adesione virtuale aiuterà, proverò .. Gradirei ulteriori suggerimenti e suggerimenti.
Ri: Rimozione dei duplicati dalla tabella dei dati in JMP 15Vedo due opzioni
1. Scollega la tabella di dati => LinkToOriginalDataTable (0).
2. Elimina le righe multiple nella tabella dei dati di origine.Ri: Rimozione dei duplicati dalla tabella dei dati in JMP 15Grazie per le opzioni! Tuttavia, non riesco a rimuovere i duplicati dalla tabella originale perché viene utilizzato per creare un tipo di grafico e sono necessari tutti i dati (anche i duplicati). Inoltre, è necessario creare il secondo grafico basato sul sottoinsieme della tabella originale, poiché in questo caso non sono necessari duplicati. Poiché entrambi i grafici vengono visualizzati nella stessa finestra, l'opzione "collegata" durante la creazione di un sottoinsieme consente di evidenziare i punti dati in entrambi i grafici se è selezionato l'insieme di dati da uno dei grafici. Quindi, sarebbe bene avere anche questa opzione. Perché la rimozione di duplicati dopo aver utilizzato l'opzione "collegata" creando un sottoinsieme in JMP 15 non funziona, non lo so. Può essere che mi manchi ancora qualcosa. Ad ogni modo, proverò alcune altre opzioni e mi scuso se le mie descrizioni precedenti non erano abbastanza chiare.
Ri: Rimozione dei duplicati dalla tabella dei dati in JMP 15Prova a creare la tua tabella non duplicata, quindi, poiché in quella tabella sono presenti righe univoche, esegui un join virtuale alla prima tabella. Non un link. Le tabelle avranno comunque lo stesso comportamento.
Un altro vantaggio, la tabella de-duped deve contenere solo i col che ti servono per il grafico che lo punta, non l'intera tabella, quindi ci vorrà meno memoria.
Ri: Rimozione dei duplicati dalla tabella dei dati in JMP 15Buongiorno Byron_JMP,
Grazie per la risposta. Penso di aver fatto l'unione virtuale dei tavoli. Ma non riesco ancora a ottenere la selezione dei dati in una tabella se vengono selezionati i dati dalla colonna di riferimento di un'altra tabella.
//dt_run - table with duplicates
//dt_run_exp - table without duplicates
dt_run_exp << Select duplicate rows( Match( dt_run_exp:DMC ) );
del_sel = dt_run_exp << get selected rows;
if(n rows(del_sel) > 0,
dt_run_exp << delete rows;
);
dt_run_exp:DMC << Set Property( "Link ID", 1 );
dt_run:DMC << Set Property( "Link Reference", Reference Table( dt_run_exp ) );
Proverò ad applicare altre opzioni in seguito. Eventuali ulteriori suggerimenti di suggerimenti sono i benvenuti. Se è necessaria una spiegazione aggiuntiva, non esitare a chiedere.
Grazie a tutti per il tempo e i migliori saluti.
Rimozione dei duplicati dalla tabella dei dati in JMP 15Ciao a tutti,
Ho uno script in cui desidero rimuovere valori duplicati da una tabella basata sulla colonna specificata. Il seguente codice viene utilizzato per rimuovere i duplicati e funziona bene con JMP 14.
dt << Seleziona righe duplicate (Match (: name)); selected = dt << ottiene le righe selezionate; if (n righe (selezionato)> 0, dt << elimina righe;);In JMP 15, tuttavia, ciò non sembra funzionare. Le righe vengono selezionate ma in seguito non vengono rimosse. Ho provato a utilizzare la "tabella dei dati correnti ()" in diverse posizioni, ma non mi è stato di aiuto. Apprezzerei per suggerimenti come far funzionare questa parte. Mi sto perdendo qualcosa? I migliori saluti.