Hola a todos,
Quiero obtener el número de fila de un valor (por ejemplo: "Valor_A") que podría estar contenido en una columna (llamada "Columna_A") sin usar el siguiente código:
rmat = dt << obtener filas donde( Contiene( Columna( dt, "Columna_A" )[], "Valor_A" ) );
Try( numero_de_fila_deseado = rmat[1] );
No quiero usar ese código porque lleva demasiado tiempo cuando es necesario recuperar muchos valores en una tabla de datos grande.
¿Hay alguna manera?
En JMP18, se introdujo Dónde() como una alternativa más rápida para obtener filas where().
Por otro lado, Obtener filas donde (Contiene()) es bastante rápido para lo que tiene que hacer.
¿Podrías dar un ejemplo de lo que significa "demasiado tiempo"? ¿Cuántas filas hay en la tabla de datos?
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);
¡Muchas gracias hogi!
Me tomó más de 1 hora con Obtener filas donde (Contiene (). Tuve que detenerlo en algún momento.
¡Con Dónde() tardó menos de un minuto! ¡Perfecto!
¡Gracias de nuevo!