Holen Sie sich die Zeilennummer des in einer Spalte enthaltenen Werts, ohne die Zeile auszuwählenHallo zusammen,
Ich möchte die Zeilennummer eines Werts (z. B. „Wert_A“) abrufen, der möglicherweise in einer Spalte (mit dem Namen „Spalte_A“) enthalten ist, ohne den folgenden Code zu verwenden:
rmat = dt << Zeilen abrufen, wobei (Enthält (Spalte (dt, "Spalte_A") [], "Wert_A"));
Versuchen Sie (gewünschte Zeilennummer = rmat[1]);
Ich möchte solchen Code nicht verwenden, da er zu viel Zeit in Anspruch nimmt, wenn viele Werte aus einer großen Datentabelle abgerufen werden müssen.
Gibt es eine Möglichkeit?
Automatisierung und SkriptingBetreff: Zeilennummer des in einer Spalte enthaltenen Werts abrufen, ohne Zeile auszuwählenin JMP18 wurde Wo() als schnellere Alternative zum Abrufen von Zeilen mit where() eingeführt.
Andererseits ist „ Get rows where(Contains())“ für seine Aufgabe recht schnell.
Können Sie ein Beispiel geben, was „zu viel Zeit“ bedeutet? Wie viele Zeilen enthält die Datentabelle?
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);
Betreff: Zeilennummer des in einer Spalte enthaltenen Werts abrufen, ohne Zeile auszuwählenVielen Dank, Hogi!
Ich habe mit „ Get rows where(Contains()“ mehr als eine Stunde gebraucht. Irgendwann musste ich es abbrechen.
Mit Wo() dauerte es weniger als 1 Minute! Perfekt!
Danke noch einmal!