コードを含む JSL 名を持つ特定の列を選択します名前には次のスクリプトが含まれています。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( "a" );
a を含むすべての列を配信します。 リスト ボックスから列をクリックまたはダブルクリックしてこれらの列の 1 つをマークするには、どのようなコードを追加する必要がありますか?
Re: JSL 名にコードが含まれる特定の列を選択する@ram_asra_gmail_ 、このリンクは、ListBox の検索および選択インターフェイスの構築について説明する投稿です。一部の説明では JMP14 で利用可能な JMP クラス オブジェクトを使用していますが、最初の投稿では関数を使用したインターフェイスについて説明しています。これは JMP 13 で動作します。
見るhttps://community.jmp.com/t5/Discussions/Can-a-scripted-quot-widget-quot-be-converted-to-a-Class/mp/182529#M40268
元の投稿に添付されているファイル (TEB_LB_Widget.JSL、TestTEBSelector.jsl、TestLBFilter.jsl) については、投稿内でスクリーン ショットを使用して説明されています。
Re: JSL 名にコードが含まれる特定の列を選択するまた、リスト内の項目に対して同様のフィルターを実行できますか? ありがとうラムRe: JSL 名にコードが含まれる特定の列を選択するとても良い例です。 列の行セレクターにも同様の JSL を使用できますか?
ありがとう
ラム
Re: JSL 名にコードが含まれる特定の列を選択する完璧!
これで、JSL は意図したとおりに動作するようになりました。 これにより、作業がはるかに簡単になります。 再度、感謝します。
Re: JSL 名にコードが含まれる特定の列を選択する
JMP 13.2.1 には dt << Go To (col ref) ; があります。 13.1は持ってないです。 そこで、ここにテストケースがあります。 これが機能する場合は、修正されたスクリプトが添付されます。 Bring Window to Front() と Go To() に JSL を追加しました。
Names Default to Here(1);
dt = open("$Sample_Data/Semiconductor Capability.jmp");
//select a column towards the end of the table
:PM_L1 << set selected(1);
wait(2);
dt << go to(:PM_L1);Re: JSL 名にコードが含まれる特定の列を選択するあなたが正しいです。 コードは機能しています。 私の間違いはアイコンの名前でした。 ブランクは使いませんでした。
アイコン名を「列検索」に変更すると、正常に動作するようになりました。
このトピックの最後の質問は、見つかった列を選択するだけでなく、見つかった列に移動するには、スクリプトにどのようなコードを追加する必要があるかということです。
これにより、列がウィンドウの表示部分にない場合のプロセス全体がさらに改善されます。
Re: JSL 名にコードが含まれる特定の列を選択する「」が何を意味するのかわかりません。ダイアログが閉じられた後 (ツールバーのアイコン経由) 」。
どのアイコンですか? これはカスタム スクリプトですか?
実行されるスクリプトがあるが、別の条件では実行されない場合、ほとんどの場合、それはスコープの問題です。たとえば、JMP13 および 12 用に提供した最初のスクリプトは機能しましたが、ダイアログが開いている間に現在のデータ テーブルが変更された場合、構文 :colname は機能しなくなります。 それは私のプログラムの弱点でした。 ただし、char() 関数を使用してソーステーブルを参照し、:colname を文字列「colname」に変換すると、堅牢になります。
したがって、アイコンまたは次のスクリプトを介して実行していることはすべてスコープの問題を引き起こしており、JMP バージョンでは問題は解決されません。あなたが何をしているのかを共有していないので、私ができるのは、注意すべき点をいくつか指摘することだけです。
- dt を参照する他のスクリプトがある場合、スクリプトはここにあるデフォルトの名前を使用する必要があります。
- スクリプト ボタンを再度クリックする前に、元のターゲット テーブルが現在のテーブルであることを確認してください。 (メニューバーにはテーブルリストが表示されます)。
スコープの問題、またはテーブルのロックの問題があると思います。 見つけたら頑張ってください。
これはスクリーンショットです。スクリプトをアドインとして追加しました。 私はこれを他の作業中に何度も使用し、別のテーブルで使用してから再度使用しましたが、JMP 13 と JMP 12 の両方で同じように機能します。バージョンの問題ではありません。

Re: JSL 名にコードが含まれる特定の列を選択する皆様のサポートと忍耐に改めて感謝いたします。
スクリプトは改善されましたが、すでに述べたように、機能が得られない可能性もあります。 たとえば、ダイアログを閉じた後 (ツール バーのアイコンを使用)、2 回目の検索のためにもう一度 rum を実行し、同じデータ テーブルで実行を選択します。 JMP 14 では状況が改善される可能性があります。
Re: JSL 名にコードが含まれる特定の列を選択する私が最後に送信したスクリプト ( Current Data Table 用に変更) は、JMP 12 と JMP 13 の両方で機能します。 これは JMP 12 のスクリーンショットです。 スクリーン ショットに示されているように、これは JMP サンプル データ テーブルです。
ただし、<< Get Selected Columns はテーブル名ではなく列参照のリストを返すため、現在のデータ テーブルが変更されるとスクリプトは機能しません。したがって、現在のデータテーブルにその列が存在しない場合、:Chloroform はエラーを返します。そこで、スクリプトをより堅牢にするために、以下の 18 行目を以下の JSL に変更しました。スクリプトが添付されています。元のテーブルが現在のデータ テーブルでなくなった場合でも、そうする必要があります。 ただし、ダイアログが開いている間にスクリプト (こちら) が dt の値を変更すると、aa 名の衝突が発生して問題が発生します。 または、ダイアログが開いたまま元のテーブルを閉じると、問題が発生します。
For(i=1, i<=nitems(_xx), i++, column(dt, char(_xx[i])) << set selected(0));

Re: JSL 名にコードが含まれる特定の列を選択するJSL は現在、satring JSL と連携しています。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
JSL が JMP 13.1.0 で次のように一般化されると (アイコン ツールバーで使用するため)、次のようになります。
Names Default To Here( 1 );
dt = Current Data Table();
古い問題に遭遇しました => 列が選択されていません。 これが JMP 13.10.0 に特有のものかどうかご存知ですか?
「はい」の場合は、それを修正しようとしないでください。 JMP 14 がすぐに手に入ることを願っています。
Re: JSL 名にコードが含まれる特定の列を選択する素晴らしい。 現在、JSL は JMP 13.1 で動作します。 質問を解決するためにあなたとイアンの忍耐力に本当に感謝しています。
どうもありがとう
Re: JSL 名にコードが含まれる特定の列を選択するそのために残念。 JMP 13.1を持っています
Re: JSL 名にコードが含まれる特定の列を選択するこのスクリプトは JMP 12 および JMP 13 で動作します。 以前のスクリプトが以前のバージョンの JMP で機能しない理由は、データ テーブルのメッセージが列の選択をクリアそして列を選択(リスト)は利用できません。 以前のバージョンでは、列を一度に 1 つずつ選択したり選択解除したりする必要があるため、以下の変更が必要でした。 JMP 12 より前のバージョンにはアクセスできません。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fcb = Filter Col Selector( width( 250 ))
);
ib = (fcb<<PARENT></PARENT>
Re: JSL 名にコードが含まれる特定の列を選択する使用している JMP のバージョン。
送信したスクリプトを実行すると、次のことが起こります。
- フィルターボックスを含むダイアログが表示されます
- 入力してくださいある、次に年齢を選択すると、年齢が強調表示されます。名前を選択すると、名前が選択されます。 Ctrl キーを押しながら年齢を選択すると、両方が選択されます。
- 消去あるそして入力してくださいえい次に、体重と身長が選択され、上記と同様の動作が行われます。
申し訳ありませんが、うまくいきません。私が送信したスクリプトは、PC 上の JMP 14.1 で動作します。 JMP 13.2.1 では動作しません。代替手段を探す前に、どのバージョンの JMP を使用していますか?
質問するときは常に、使用している JMP のバージョンを指定する必要があります。
Re: JSL 名にコードが含まれる特定の列を選択する耐えてくれてありがとう。 ほんとうにありがとう。 ただし、JSL は依然として意図したとおりに動作しません (画像を参照)。
目標は、Cols / Columns Viewer / Name Contains を使用して得られるのと同じ機能を取得することです。 検索ボックスに表示されている結果をクリックすると、元のデータ テーブルで特定の列が選択されます。
適切な JSL コードが利用可能な場合、列全体の検索/選択プロセスをより高速に実行できます。

Re: JSL 名にコードが含まれる特定の列を選択するこれを試して
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fcb = Filter Col Selector( width( 250 ))
);
ib = (fcb<<PARENT></PARENT>Re: JSL 名にコードが含まれる特定の列を選択する
何かが足りないのでしょうか。 データテーブルで選択した列にアクセスできません。
Re: JSL 名にコードが含まれる特定の列を選択する理解した:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fcb = Filter Col Selector( width( 250 ) )
);
ib = (fcb<<PARENT></PARENT>Re: JSL 名にコードが含まれる特定の列を選択するイアンをサポートしていただきありがとうございます。 まだ希望どおりに機能していません。
名前(part1)で特定の列を一般的に検索し、ダブルクリックしてpart1のリストボックスで目的の列を選択し、データテーブル内の列をマークできるJSLコードを探しています。
一般的な検索パート 1 は、JSL コードを使用して実行されます。
Names Default To Here( 1 );
dt = Current Data Table();
New Window( "Column Search",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( );
マーキング パート 2 は、スクリプト インデックスのコードのような例で実行できます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
dt << Go to( :BP 12F );
データテーブル内の列を検索し、マークし、移動するには、それらをどのように組み合わせる必要がありますか?
Re: JSL 名にコードが含まれる特定の列を選択するイアン、
これは多少関連する質問です。 ブロガーの応答には lb<< Name Contains() が含まれていたため、この要求はユーザーがフィルター フィールドを入力し、すべての列が選択されることであると推測しました。
そこで、Filter フィールド (Show Filter) を公開してみました。 この 2 番目のメニュー項目を JSL 経由で有効にしようとして何度も失敗しました。
フィルターフィールドを有効にしてフィルターを設定する方法はありますか? PopupBox のメニュー数とメニュー テキストは取得できますが、選択内容は取得できません。

Re: JSL 名にコードが含まれる特定の列を選択する正しく理解できたかどうかわかりませんが、これがあなたが求めているものですか?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Make a FilterBoxSelector
New Window( "Filter Col Selector Example", lb = Filter Col Selector( width( 250 ) ));
// Define and set an 'action' script
actionScript =
Expr(
selected = lb << getSelected;
dt << clearColumnSelection;
dt << selectColumns(selected);
);
lb << setScript(actionScript);
// Try it out
lb << Name contains("sex");
Wait(3);
lb << Name contains("eight");Re: JSL 名にコードが含まれる特定の列を選択するお返事をありがとうございます。残念ながら、JSL アップデートでは結果が得られませんでした。 今のところ、その理由はわかりません。
私が実際に望むのは、JMP の Cols / Columns Viewer ... / Name Contains … と同様の動作を取得することです。
一般に、これは、Scripting Index の前述の JSL コードで可能です。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( );
ただし、検索文字列を実行した後、データテーブル内の目的の/選択した列をダブルクリックしてマークしたいと思います。 この部分は、Scripting Index の JSL コード内でまだ欠落しているか、機能していません。
Re: JSL 名にコードが含まれる特定の列を選択するこれを試して
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( "a" );
//select name
_xx = lb << get items;
_idx = Contains(_xx, "name");
lb << set selected( _idx, 1); //or 0 to unselectオブジェクトで利用可能なメッセージを表示するには、メインメニュー > スクリプトインデックス > 表示ボックス > FilterColSelector