インタラクティブなデータテーブルセレクター<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />この次のデータテーブルリスト選択部分をJSLスクリプトにスクリプト化する方法はありますか?

今のところ、スクリプトは完了していますが、一度に 1 つのデータ テーブルに対してのみ、上に添付した図のようなデータ テーブル リスト セレクターを作成するために呼び出すことができる関数はありますか。選択すると、現在のデータテーブルはそれに応じて更新されますか? あまり柔軟ではない私のスクリプトは次のようになります

これを達成したい

助けていただければ幸いです。
Re: インタラクティブ データ テーブル セレクターPMrozと同様の方法を使用してフィルター列セレクターを更新するためのソリューションを持っている人はいますか? 彼の答えは私が達成しようとしているものにほぼ最も近いですが、唯一の違いは、私がCol List Boxの代わりにFilter Col Selectorを使用していることですが、どういうわけかそれに応じて更新またはリフレッシュできません
Re: インタラクティブ データ テーブル セレクターPMroz さん、こんにちは。
それは私にとっては非常にうまくいきました。スクリプトに統合して、単語を間違って使用したことに気づきました。列リストボックスの代わりにフィルター列セレクターを使用していました。あなたの方法は、選択したデータテーブルに基づいてテーブルからの新しい列のセット。それを更新する部分は、呼び出したときに行われます。
列リストボックス=リストボックス(列リスト) ;
をクリックして、新しく更新されたテーブルを表示します。 そこで、「フィルター列セレクター」についてもそれを再現してみました。
1) コードを少し変更して、新しいウィンドウに表示されずに元のウィンドウに移動するようにしました。
2) Filter Col Selector を「SelectedIndex」変数に変更し、それが更新されることを期待して以下で呼び出しましたが、明らかにやり方が間違っています。 列リスト ボックスの場合と同じように、フィルター列セレクターを更新する正しい方法をご存知ですか? Col List Box の作業方法を Filter Col Selector に適用したいと考えています。

これはフィルター列セレクターのコードです。
param = フィルター列セレクター(データ テーブル(selectedIndex),
全て、
幅( 250 )、
Colname = param << get selected();
ColStatInfo(colname[1]);
リスト << 無効;
リスト << updateWindow;
リスト << 再表示;
)、
param << nominal( 0 );
//param << Name contains( " " );
)
Re: インタラクティブ データ テーブル セレクターこのコードを試してください:
// 既存のテーブルのリストをテーブル コンボボックスにプリロードします。
デフォルトテーブル=現在のデータテーブル() <<名前を取得する;
テーブルリスト= {} ;
ンテーブル=テーブル() ;
ために(私= 1 、私<=ンテーブル、私++、
一名=データ表(私) <<名前の取得;
テーブルリスト[私] =一名;
// デフォルトのテーブルの場合、列リストボックスをロードします
もしも(一名==デフォルトテーブル、
デフォルト=私;
列リスト=データ表(私) <<列名を取得する(文字列として) ;
) ;
) ;
新しい=新しい窓( "テスト" 、
select_table_combo =コンボボックス(テーブルリスト、
// この関数は、コンボ ボックスの選択が変更されたときに呼び出されます。
選択されたインデックス= select_table_Combo <<選択してください;
列リスト=データ表(選択されたインデックス) <<列名を取得する(文字列として) ;
// columns_listbox << すべて削除;
列リストボックス<<セットアイテム(列リスト) ; ) 、
列リストボックス=リストボックス(列リスト) ;
) ;
Re: インタラクティブ データ テーブル セレクターこんにちは、PMroz さん。プレゼンテーションを読んで、アプリケーション ビルダーを使用すると、より簡単でよりインタラクティブに実行できることがわかりました。しかし、この時点 (スクリプトに 1,000 行) では、おそらく再構築に時間がかかるでしょう。アプリケーションビルダーで。 すべてをアプリケーションビルダーに移植せずに、テーブルを選択してボタンボックスをクリックしたときに列を自動更新する方法はありますか?
Re: インタラクティブ データ テーブル セレクターこれプレゼンテーションApplication Builder に関する記事が役立つはずです。特に、特定のテーブルが選択されたときにリスト ボックスに列名を動的に入力する方法を示します。
Re: インタラクティブ データ テーブル セレクター申し訳ありませんが、もっと詳細を提供するべきでした。おっしゃるとおりです。下のどこかに列リスト ボックスがあり、選択したテーブルに従って列を表示するように自動的に更新したいと考えています。

スクリプトの添付について詳しく教えてください。 dtlb? 上記で定義したように、 dtlb =リストボックス( dtNames 、 MaxItems ( 1 ))
Re: インタラクティブ データ テーブル セレクター答えは、必要なワークフローをサポートするために UI の他の部分をどのように設計したかによって決まると思います。 しかし、再帰は必要ないと思います。
たとえば、上記の方法で選択されたテーブルの列を表示する 'ColListBox()' もある場合、スクリプトを 'dtlb' (上で定義) に添付して、(テーブルの選択が作成または変更された場合)、使用可能な列のリストが自動的に更新されます。 同様に、レポート ウィンドウを作成または更新するスクリプトを「ColListBox()」に結び付けることができます (分析に必要な列が 1 つだけであると仮定します)。
(詳細を確認しないと、もっと役立つのは少し難しいです)。
Re: インタラクティブ データ テーブル セレクターIan さん、ご協力ありがとうございます。差し支えなければ追加の質問があります。 すべてのデータ テーブルのリストを取得する方法ができたので、新しく選択したデータ テーブルですべての操作を実行するスクリプトを更新するには、再帰を通じてまったく同じスクリプト (新しく選択したデータ テーブルで) を呼び出すことをお勧めします。 ? それとも、スクリプトをすばやく更新して、選択した新しいデータ テーブルで実行できる、私が知らない機能があるのでしょうか?
Re: インタラクティブ データ テーブル セレクターおそらく次のようなものでしょう:
名前デフォルトここへ( 1 ) ;
dtNames = {} ;
ために( t = 1 、 t <= NTテーブル() 、 t ++、
挿入する( dtNames 、データ表( t ) << getName ) ;
) ;
新しい=
新しい窓( "テスト" 、
パネルボックス( 「テーブルを選んでください」 、
dtlb =リストボックス( dtNames 、 MaxItems ( 1 ))
) 、
ボタンボックス( "OK" 、 OKスクリプト)
) ;
OKスクリプト=
エクスプレッション(
新しい<<ウィンドウを閉じる;
dtName = dtlb << getSelected ;
もしも( Nアイテム( dtName ) > 0 、
印刷する( 「選択されたテーブル:」 || dtName [ 1 ])
、
印刷する( 「テーブルが選択されていません」 )
)
) ;
Re: インタラクティブ データ テーブル セレクター@pmrozこんにちは、プレゼンテーション リンクをアプリケーション ビルダーに再度共有していただけますか。同じ使用例がありますが、リンクはアーカイブされているようです。
Re: インタラクティブ データ テーブル セレクターどうぞ@Aadit 。これは JMP 10 で書かれたものです。ただし、関連情報はまだあるはずです。