限制每個()我對 For Each() 函數還很陌生,所以請耐心聽我說完。下面的腳本可以滿足我的需要,但我想限制它所作用的列。我只想對第 3 列及以上的內容採取行動?使用 For() 函數足夠簡單,不確定它在這裡如何運作?
For Each({colnames, index}, dt << Get Column Names("String"),
rows_to_color = dt << Get Rows Where((Column(dt, colnames)[]<100));
Column(dt, colnames) << Color Cells("Red", rows_to_color);
);自動化和腳本回覆:限制每個()在開始查看清單之前,先刪除清單中的值
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
collist = dt << Get Column Names("String");
Remove From(collist, 1, 3);
show(collist);
For Each({colnames, index}, collist,
rows_to_color = dt << Get Rows Where((Column(dt, colnames)[] < 100));
Column(dt, colnames) << Color Cells("Red", rows_to_color);
);回覆:限制每個()您也可以在定義列表時在 for each 內部執行此操作,但我認為最好在之前執行此操作(更容易閱讀和調試)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
For Each({colname, index}, Remove(dt << Get Column Names("String"), 1, 3),
show(colname);
);
或者如果你之前收集過列表,你可以循環遍歷特定的項目
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
collist = dt << Get Column Names("String");
For Each({colname, index}, collist[4::N Items(collist)],
show(colname);
);回覆:限制每個()好的!效果很好。