我正在運行 JMP 17.1,並且下面顯示的腳本可以正常工作,這要歸功於@jthi幫助。當我執行該腳本時,我會在視窗中看到一個 Big Class.jmp 的表格框,我可以選擇一行,它會傳回所選行的高度和重量值。在我的現實應用程式中,我有一個更大的表,我想透過右鍵單擊視窗並選擇“過濾位置...”來過濾該表。當我在錶框中獲取過濾後的表時,有時選定的行返回數據,有時返回錯誤,提示“訪問或評估'hvals[/*###*/sel], hvals[ 時出現下標問題” /*###*/sel]」。在下面的範例中,我右鍵單擊 Big Class Table 方塊並按性別篩選 == F。
關於如何檢索子集錶框所有行的資料有什麼想法嗎?
names default to here(1);
//run this now
dt = open("$sample_data\big class.jmp", invisible);
rpt = dt << select where(row() <= 10) << get as report;
tb = rpt[Table Box(1)];
tb << Set Selectable Rows();
tb << set row change function( Function( {this}, sel = this << get selected rows ) );
sel = tb << get row change function;
nw = new window("test",
v list box(
outline box("Big Class", rpt),
text box("Click 'OK' to choose height and weight"),
Button box("OK",
hvals = tb[NumberColBox("height")] << get;
wvals = tb[NumberColBox("weight")] << get;
ht = hvals[sel][1];
wt = wvals[sel][1];
print(sel, ht,wt);
)
)
);以下是原始表(Big Class 的前 10 行)的圖像、按性別過濾並選擇首次發生錯誤的行後的 Big class 表以及錯誤訊息。請注意,腳本適用於已篩選表的前 5 行,但不適用於第 6 行或第 7 行。