Ciao a tutti,
Voglio ottenere il numero di riga di un valore (ad esempio: "Value_A") che potrebbe essere contenuto in una colonna (chiamata "Column_A") senza utilizzare il seguente codice:
rmat = dt << ottieni righe dove( Contiene( Colonna( dt, "Colonna_A" )[], "Valore_A" ) );
Prova( row_number_wanted = rmat[1] );
Non voglio usare questo tipo di codice perché richiede troppo tempo quando è necessario recuperare molti valori in una grande tabella dati.
C'è un modo?
in JMP18, Dove() è stato introdotto come alternativa più rapida per ottenere le righe where().
D'altro canto, Ottieni le righe where(Contains()) è piuttosto veloce per quello che deve fare.
Puoi fare un esempio di cosa significa "troppo tempo"? Quante righe ci sono nella tabella dati?
dt = Open( "$SAMPLE_DATA/Aircraft Incidents.jmp" );
dt= dt << concatenate({dt,dt,dt,dt,dt,dt,dt,dt});
wait(0);
dt= dt << concatenate({dt,dt,dt,dt,dt,dt,dt,dt});<BR />
t0=hptime();
current data table() << get rows where(contains(:location, "SD"));
show(nrows(),(hptime()-t0)/1000000);
t0=hptime();
where(dt,contains(:location, "SD"));
show(nrows(),(hptime()-t0)/1000000);
close(dt, noSave);
Grazie mille hogi!
Ci ho messo più di un'ora con Get rows where(Contains(). A un certo punto ho dovuto interromperlo.
Con Dove() ci è voluto meno di 1 minuto! Perfetto!
Grazie ancora!