ローカル データ フィルターで選択された X 軸パラメーター (グラフ ビルダー内) をリストで取得できますか?ローカル データ フィルターの選択によって選択された x 軸パラメーター (グラフ ビルダー内) を、別のスクリプトで使用するリストとして取得したいと考えています。 JSL経由でこれを行うことは可能ですか?
自動化とスクリプト作成ウィンドウズRe: ローカル データ フィルターで選択された X 軸パラメーター (グラフ ビルダー内) をリストで取得できますか?はい。 たとえば、<< Get Filtered Rows を使用して、正しい列の値に基づいて目的の値を選択できます (何もフィルターされていない場合は、注意が必要な特殊なケースです)。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Cities.jmp");
gb = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:Latitude), Y(:POP)),
Elements(Points(X, Y, Legend(7)), Smoother(X, Y, Legend(8)))
);
f = gb << Local Data Filter(
Add Filter(
columns(:city),
Where(
:city == {"ALBANY", "ALBUQUERQUE", "ATLANTA", "ATLANTIC CITY",
"BALTIMORE", "BOSTON", "BURLINGTON"}
),
Display(:city, N Items(15), Find(Set Text("")))
)
);
f << get filtered rows;Re: ローカル データ フィルターで選択された X 軸パラメーター (グラフ ビルダー内) をリストで取得できますか?@jthiありがとう。
これにより行インデックスが得られます。 実際の緯度を取得するにはどうすればよいですか (f を介して列をループします)?
第二に、ローカルデータフィルターの選択がユーザーによって変更された場合に新しい「f」値を取得する方法(フィルター変更ハンドラーを考えていますが、希望どおりに動作させることができませんでした)。
Re: ローカル データ フィルターで選択された X 軸パラメーター (グラフ ビルダー内) をリストで取得できますか?<< Get Filtered Rows は選択した行の行列を返します。この行列を使用してテーブル (および列) 内の値にアクセスできます。 1 つのオプションは、
:Latitude[f << get filtered rows];
データテーブルの添字付けも役立ちます。
あなたが何をしているのかわからないので、2番目の質問(おそらくフィルター変更ハンドラーまたはボタンの使用)についてアドバイスするのは少し難しいです。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Cities.jmp");
gb = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:Latitude), Y(:POP)),
Elements(Points(X, Y, Legend(7)), Smoother(X, Y, Legend(8)))
);
f = gb << Local Data Filter(
Add Filter(
columns(:city),
Where(
:city == {"ALBANY", "ALBUQUERQUE", "ATLANTA", "ATLANTIC CITY",
"BALTIMORE", "BOSTON", "BURLINGTON"}
),
Display(:city, N Items(15), Find(Set Text("")))
)
);
filter_f = Function({a}, show(:Latitude[f << get filtered rows]));
rs = f << Make Filter Change Handler(filter_f);
Re: ローカル データ フィルターで選択された X 軸パラメーター (グラフ ビルダー内) をリストで取得できますか?Min、Max、Incr の取得をリクエストすることで、X 軸と Y 軸の詳細を取得することもできます。ここでは、Y 軸の最大値を取得する変更を示します。
filter_f = Function({a}, show(:Latitude[f << get filtered rows]);
show("Max", report(gb)[axisbox(2)]<<GET max=""></GET>