このサンプル テーブルでは、:Number の値が 2 の行を選択し、:letter から値 "A" を取得して、:Letter に "A" を含むすべての行を選択しようとしています。


このスクリプトを作成しましたが、機能していません。
dt= current datatable();
dt <<SELECT where=""></SELECT>
ログを見て
s = {"A", "A", "A", "B", "B", "B"};
また、スクリプトの最後で行が選択されていませんでした。
何が悪かったのか?
ありがとう
スクリプトに基づいてすべての行を選択する必要があると思います.sには、2番の文字に一致するものだけでなく、文字列のすべての値が含まれているため、現在の行の文字がそのリストにあるかどうかを確認します(常にそうです)。
あなたが望むことをする方法はたくさんあります。 これが私が最もよく使う方法です(データ テーブルの添え字付け
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(6),
New Column("Letter", Character, "Nominal", Set Values({"A", "A", "A", "B", "B", "B"})),
New Column("Number", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4, 5, 6]))
);
num_rows = dt << Get Rows Where(:Number == 2);
show(num_rows);
letters_of_interest = dt[num_rows, "Letter"];
show(letters_of_interest);
dt << Select Where(Contains(letters_of_interest, :Letter));
<< Select Where を << Get Selected Rows と組み合わせて使用することもできます (一例) select where から値を取得する)
ありがとうございました。 私は確かに「行の取得」の部分を見逃していました
少し掘り下げた後、このスクリプトを思いつきました
dt= current datatable();
dt <<ROW selection=""></ROW>