サブセットデータテーブルの作成に使用したデータフィルタの選択に基づいてサブセットデータテーブルのタイトルを変更する方法この投稿のディスカッション(解決済み: データ フィルタ () で選択されたデータを新しいデータ テーブルに取り込む方法 (JSL を使用) - JMP ユーザー コミュニティ; https://community.jmp.com/t5/Discussions/How-to-get-data-selected-by-Data-Filter-into-a-new-data-table/mp/642343 )で見つけたコードを使用すると、データ フィルタで特定の年齢と性別の組み合わせを選択し、必要な行だけを含む「Subset of Big Class」というタイトルのサブセット テーブルを生成できます。ただし、データ フィルタでチェックされたオプションを使用して、データ ファイルにタイトルを付けたり、データ ファイルの名前を変更したりしたいと思います。たとえば、年齢 13、性別 女性をチェックした場合、テーブルに「年齢 13 性別 F Subset of Big Class」などの名前を付けます。残念ながら、データ フィルタまたはスクリプトからこれらの値を取得する方法がわかりません。
正しい関数、オプション、または構文を教えていただけませんか?
結果データ自体からそれらを抽出できると思いますが、それらの値を「ソース」に保存する方法があると信じなければなりません。
ジャンプ17
ありがとう!
自動化とスクリプトRe: サブセットデータテーブルの作成に使用したデータフィルタの選択に基づいてサブセットデータテーブルのタイトルを変更する方法名前をどのようにしたいかよくわからないので、まずはデータフィルタに送信できる<< Get Where Clause を調べてみると、次のような結果が得られると思います。

"Select Where((:age == 12 | :age == 14) & (:sex == \!"F\!" | :sex == \!"M\!"))"
その後、抽出することができます
(:age == 12 | :age == 14) & (:sex == \!"F\!" | :sex == \!"M\!")
それを名前として使う
Re: サブセットデータテーブルの作成時に使用したデータフィルタの選択に基づいてサブセットデータテーブルのタイトルを変更する方法Jarmoさん、ご提案ありがとうございます。他のスクリプトでは「Select where」を使ったことがあります。残念ながら、データフィルターは実行するたびに結果が変わるため、インタラクティブな機能が必要なのです。ご提案いただいたように、特定のオプションをハードコードすることはできません。もし私があなたの考えを誤解しているのであれば、どうでしょうか?
名前については、必要な情報が含まれていれば、どのような形式でも構いません。選択した年齢と性別を操作可能な変数またはオブジェクトに格納できれば、名前の作成は特に気にしません。
Re: サブセットデータテーブルの作成時に使用したデータフィルタの選択に基づいてサブセットデータテーブルのタイトルを変更する方法<< Get Where Clause で取得できるフォーマットは一つの選択肢です。オプションとして、フィルターで使用されている列に基づいて結果テーブルから値を抽出することもできます(元のテーブルから行うこともできますが、結果テーブルから行う方が簡単で、おそらくより高速です)。
Re: サブセットデータテーブルの作成に使用したデータフィルタの選択に基づいてサブセットデータテーブルのタイトルを変更する方法これは、データフィルターの設定で指定されたテーブルのサブセットを作成する例です。新しいテーブルの名前は、テーブルの作成に使用したWhere句です。データフィルターで選択が行われていた場合、データフィルターを閉じるとサブセットが作成されます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw = New Window( "Select Parameters",
//<
<MODAL></MODAL> theClause = obj << Get Where Clause;
If( theClause != "",
dt << subset(
selected columns( 1 ),
selected rows( 1 ),
output table( Substr( theClause, 14, Length( theClause ) - 15 ) )
)
);
);
Re: サブセットデータテーブルの作成に使用したデータフィルタの選択に基づいてサブセットデータテーブルのタイトルを変更する方法@txnelson落としたと思うよ
theClause = obj << Get Where Clause;
If の前。
正規表現を使用した解析オプション(これがすべてのケースで機能するかどうかはわかりません)
tbl_name = Regex(theClause, "Select Where\((.+)\)", "\1")
Re: サブセットデータテーブルの作成に使用したデータフィルタの選択に基づいてサブセットデータテーブルのタイトルを変更する方法はい、そうしました...元のエントリを修正しました。
Re: サブセットデータテーブルの作成に使用したデータフィルタの選択に基づいてサブセットデータテーブルのタイトルを変更する方法本当にありがとうございます!完璧に動作しました。Get Where句の正しい使い方を教えていただき、本当に感謝しています。Jarmoさんの提案は正しい使い方だとは理解していましたが、実際に試してみるとエラーが繰り返し発生してしまいました。モーダルモードを削除し、ウィンドウを閉じる処理のコードでラップすることで解決されたんですね。少しずつですが、確実に学んでいます。改めて感謝いたします!