こんにちは、みんな、
次のコードを使用せずに、列 (「Column_A」) に含まれる可能性がある値 (たとえば、「Value_A」) の行番号を取得したいです。
rmat = dt << Contains( Column( dt, "Column_A" )[], "Value_A" ) ); の行を取得します。
試してください(行番号 = rmat[1]);
大きなデータテーブル内の多くの値を取得する必要がある場合、時間がかかりすぎるため、このようなコードは使用したくありません。
方法はありますか?
JMP18 では、 where() を使用して行を取得するより高速な代替手段として Where() が導入されました。
一方、 Get rows where(Contains()) は、実行しなければならない処理に対して非常に高速です。
「時間がかかりすぎる」とはどういう意味か、例を挙げて説明していただけますか?データテーブルには何行ありますか?
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);
ありがとうホギ!
Get rows where(Contains() を実行するのに 1 時間以上かかりました。途中で止めなければなりませんでした。
どこ()を使えば 1 分もかかりませんでした! 完璧です!
再度、感謝します!