Salut tout le monde,
Je souhaite obtenir le numéro de ligne d'une valeur (par exemple : "Valeur_A") qui pourrait être contenue dans une colonne (appelée "Colonne_A") sans utiliser le code suivant :
rmat = dt << obtenir les lignes où( Contient( Colonne( dt, "Colonne_A" )[], "Valeur_A" ) );
Essayez( row_number_wanted = rmat[1] );
Je ne veux pas utiliser un tel code car cela prend trop de temps lorsqu'un grand nombre de valeurs dans une grande table de données doivent être récupérées.
Y a t-il un moyen ?
dans JMP18, Où() a été introduit comme une alternative plus rapide pour obtenir les lignes where().
D'un autre côté, Obtenir les lignes où (contient()) est assez rapide pour ce qu'il doit faire.
Pouvez-vous donner un exemple de ce que signifie « trop de temps » ? Combien de lignes y a-t-il dans le tableau de données ?
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);
Merci beaucoup hogi !
Il m'a fallu plus d'une heure avec la commande « Get rows where(Contains() ». J'ai dû l'arrêter à un moment donné.
Avec Where(), ça a pris moins d'une minute ! Parfait !
Merci encore!