在這個示例表中,我試圖在 :Number 中選擇值為 2 的行,然後從 :letter 中獲取值“A”,然後在 :Letter 中選擇所有包含“A”的行。


我寫了這個腳本,但它不起作用。
dt= current datatable();
dt <<SELECT where=""></SELECT>
看著日誌
s = {“A”、“A”、“A”、“B”、“B”、“B”};
並且在腳本末尾沒有選擇任何行。
什麼地方出了錯?
謝謝
我認為您應該根據您的腳本選擇所有行,因為 s 包含來自 Letter 列的所有值,而不僅僅是那些與數字 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 結合使用(一個示例從選擇位置獲取值)
謝謝你。 我當然錯過了“獲取行部分”
經過一番挖掘,我想出了這個腳本
dt= current datatable();
dt <<ROW selection=""></ROW>