に()SQLには、指定された列がin(...)ステートメントの値INを持つテーブル内のすべての行を見つけるin(..)のためのコマンドがあります。 これはリスト内のアイテムを素早く見つけるのに便利です。 JSLでこれができればいいでしょう。
例:
dt << Select Where( in(col, list) );
とは対照的に:
dt << Select Where( :col == list[1] | :col == list[2] | ... )
2番目の方法の欠点は、リストの長さを知っている必要があることです。
forループでいくつかの回避策を考えることができますが、これらのほとんどは大規模なデータセットでパフォーマンスの問題に出くわすでしょう。
これを私のほしい物リストに追加するだけです。
再:で()<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ありがとうございました!数分後、私はついに理解しました。 リスト内の値について列を検索するのではなく、各セルで見つかった値についてリストを検索しています。
再:で()同じ考えのこのより単純なバージョンもまた働きます( 場所を選択明らかに[1]をTrue、[]をFalseとして扱います。
dt << select where(Loc(list, :col));
再:で()Contains()はあなたが望むことをするかもしれません。
dt = Open("$SAMPLE_DATA/Big Class.jmp");
list = {"JANE", "ALICE", "MICHAEL", "ELIZABETH"};
col = Column(dt, "name");
dt << select where(Contains(list, col[]));
再:で()
dt<<SELECT where="">0);
</SELECT>
これはあなたが望むことをするはずです