データフィルター()で選択されたデータを(JSLを使用して)新しいデータテーブルに取得するにはどうすればよいですか?これを対話的に行う方法は知っていますが、Data Filter () によって選択されたデータを親データテーブルから JSL 経由で新しい (サブセット) データテーブルに取得するにはどうすればよいですか? また、新しいサブセット データテーブルを新しく作成する (古いサブセットを閉じる) か、データ フィルターでの選択が変更されたときに古いテーブルを更新する (可能であれば) 必要もあります。
自動化とスクリプト作成Re: データ フィルター () で選択されたデータを新しいデータ テーブルに (JSL を使用して) 取得するにはどうすればよいですか?どのような種類のデータ フィルターがどこにありますか? ユーザーは選択をどのように実行しますか (データ フィルターで行われた選択のみを使用する必要があります)? 結果のテーブルは何に使用されますか?
データフィルターのスクリプトインデックスを確認してください

フィルターされた行の取得、Where 句の取得、オプションとしてのサブセットの表示
Re: データ フィルター () で選択されたデータを新しいデータ テーブルに (JSL を使用して) 取得するにはどうすればよいですか?@jthiデータフィルターです()
これが私がこれまでに得たものです。 部分的には機能します。 選択が変更された場合にテーブルを更新または新しいテーブルを生成する必要があります。 JSL (Close() 上) でそれを行うにはどうすればよいですか?
Names Default To Here (1);
dt = Current Data Table();
nw = New Window("Select Parameters", << modal, << return result,
obj = dt << Data Filter(
//Location( {3000, -600} ),
Width( 315 ),
Conditional,
Add Filter(
columns( :Col1, :Col2, :Col3, :Col4),
Display( :Col2, "Check Box Display" ),
Display( :Col3, "Check Box Display" ),
Display( :Col4, "Check Box Display" ),
Display(
:Parameter,
N Items( 20 ),
"Check Box Display",
Find( Set Text( "" ) )
)
)
);
);
//obj << Get Filtered Rows;
dtNew = dt << subset( selected columns(1), selected rows(1));データ テーブルの生成に基づいてユーザーが選択できるように、すべてのボックスのチェックを外した状態から始めます。 私の場合、フィルターされた行の取得は機能しないようです。
Re: データ フィルター () で選択されたデータを新しいデータ テーブルに (JSL を使用して) 取得するにはどうすればよいですか?選択が変更されるたびに新しいテーブルを生成したいですか? それとも、ユーザーが選択を行った後も継続するモーダルが必要ですか?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("Select Parameters",
<<MODAL></MODAL>Re: データ フィルター () で選択されたデータを新しいデータ テーブルに (JSL を使用して) 取得するにはどうすればよいですか?@jthi私は、選択が変更されるたびに新しいテーブルが生成され、テーブル内の古い値が削除されます (次に実行する場合に役立ちます)。 これを行う方法がわからないため、モーダルアプローチを使用しました。
Re: データ フィルター () で選択されたデータを新しいデータ テーブルに (JSL を使用して) 取得するにはどうすればよいですか?フィルター状態ハンドラーを使用して、フィルターの選択が変更されたときに「イベント」をトリガーできます。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
f = Function({a},
Show(obj << get filtered rows);
);
nw = New Window("Select Parameters",
<<MODAL></MODAL>Re: データ フィルター () で選択されたデータを新しいデータ テーブルに (JSL を使用して) 取得するにはどうすればよいですか?@jthiを指していただきありがとうございますフィルター状態ハンドラー。 ただし、あなたのスクリプトは、これを行う「既存のデータテーブルを新しいデータに置き換える」方法で私が望んでいるとおりに正確には機能しません。 データ フィルター ウィンドウは開いたままにする必要があり、ユーザーが選択を変更すると、データが "dtNew" に入力/更新/再生成されます。 可能?
Re: データ フィルター () で選択されたデータを新しいデータ テーブルに (JSL を使用して) 取得するにはどうすればよいですか?ユーザーにすべての選択をさせて、準備ができたら「OK」を押す方が簡単ではないでしょうか?
Re: データ フィルター () で選択されたデータを新しいデータ テーブルに (JSL を使用して) 取得するにはどうすればよいですか?最善の方法はローカル データ フィルターを使用することです。グローバル データ フィルターはデータ テーブルの行の状態を変更します。
このようなローカル データ フィルター (最初の部分) を備えたウィンドウがある場合は、このコードを実行するだけで、対応するサブセットが取得されます。
このコードはすべてのレポート ウィンドウに使用でき、ツールバーのショートカットとして追加することもできます。
あるいは、ウィンドウにボタン ボックスを追加して、サブセット テーブルの生成をトリガーすることもできます。
Names Default to Here(1);
/*dt0 = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt0 << Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y ) ),
Local Data Filter(
Add Filter( columns( :sex ), Where( :sex == "F" ) )
)
);*/
ldf = Try( Current Report()["Local Data Filter"] << get scriptable object, Stop() );
dt = ldf << Get Data Table();
WhereClause = ldf << Get where clause();
If( Not( Is Missing( WhereClause ) ),
Eval( Parse( Substitute( ldf << Get where clause(), "Select Where", "myRows= dt << get rows where" ) ) );
dt << subset( Rows( myRows ), Selected columns only( 0 ) );
);
あるいは....*)
Re: データ フィルター () によって選択されたデータを新しいデータ テーブルに取得する方法 (JSL を使用)動的サブセットアドイン (フィルター可能なデータテーブル、更新済み)はどうですか?