私はJMP 17.1を実行しており、以下に示すスクリプトは次のおかげで機能します。 @jthiヘルプ。スクリプトを実行すると、ウィンドウに Big Class.jmp のテーブル ボックスが表示され、行を選択すると、選択した行から身長と体重の値が返されます。実際のアプリケーションでは、ウィンドウ内を右クリックして [Filter Where...] を選択してフィルタリングしたい、さらに大きなテーブルがあります。テーブル ボックスでフィルター処理されたテーブルを取得すると、選択した行がデータを返す場合と、「'hvals[/*###*/sel]、hvals[ のアクセスまたは評価における添え字の問題」というエラーが返される場合があります。 /*###*/sel]」。以下の例では、[大きなクラス テーブル] ボックスを右クリックし、性別 == 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 クラス テーブル、およびエラー メッセージの画像です。このスクリプトは、フィルタリングされたテーブルの最初の 5 行では機能しますが、行 6 または 7 では機能しないことに注意してください。