必要な変数を保持し、不要な変数を削除するJSLキープコマンド?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />指定された列変数のみを「保持」し、現在のデータ テーブル内の他のすべての変数を削除する JSL スクリプト コマンドを探しています。
これは、指定したコマンドの逆になります。 dt << Delete Columns( :A, :B, ... :N);
理想的には、より効率的な keep コマンドは次のようになります。
dt = 現在のデータ テーブル( );
dt << Keep Columns ( :time, :day, :location );
(結果 = 等しくないすべての列を削除します:時刻、:日、:場所)。
ありがとう。
Re: 必要な変数を保持し、不要な変数を削除するJSL keepコマンド?JMP 14 では、より直接的なメソッドが JSL に追加されました。 列の選択、列の選択の反転、および列の削除により、必要なことを実行できます。
dt = open("$SAMPLE_DATA\Big Class.jmp");
a = {"height", "weight"};
dt << select columns(a);
dt << invert column selection;
b = dt << get selected columns;
dt << delete columns(b);Re: 必要な変数を保持し、不要な変数を削除するJSL keepコマンド?おそらく、手動で (そして簡単にスクリプトを作成して) 簡単に実行できるより単純なソリューションは、データをサブセット化することです。
保持する列を選択し、[選択した列 (1)] オプションでサブセット化します。これは、データ テーブルが大きくなったときに上記の方法よりも高速になるはずですが、テストしていません。

Re: 必要な変数を保持し、不要な変数を削除するJSL keepコマンド?ありがとう。よ上記のスクリプトは役に立ちました。
新しいデータテーブルを作成するのと比較して、現在のデータテーブルで動作するように少し変更しました。たとえば、Data Table( "name_here") で、結果は成功しました。
Re: 必要な変数を保持し、不要な変数を削除するJSL keepコマンド?彼らがそれをJSLに追加するまで、これを試すことができます:
Re: リストにない列を削除する
さらに開発することができ、テーブル更新コマンドを使用する前に非常に便利であることがわかりました.
テーブルを更新する前に、同じ名前で更新したくない列を削除すると便利です。 以下は、 to keep 列を定義するだけでそれを行います。
dt10 = New Table( "Test",
Add Rows( 10 ),
New Column( "A" ),
New Column( "B" ),
New Column( "C" ),
New Column( "D" )
);
Keep = {"A", "C"};
todelete = dt10 << get column names( "string" );
For( in = 1, in <= N Items( Keep ), in++, <BR />// assuming the to keep list is shorter than the list of columns in the table.
location = Contains( todelete, Keep[in]) ; // find the location of the keepers
if (location > 0, Remove From( todelete, location, 1 ) // if found remove it
));
if (nitems (todelete) > 0, dt10 << delete columns( todelete )); <BR />// if there is a delete list delete the columns from the table
このコマンドを開発チームに依頼する場合は、行についても同じようにするよう依頼してください。
一番
ロン
Re: 必要な変数を保持し、不要な変数を削除するJSL keepコマンド?機能強化のリクエストを行っていると思います。これを提出すると、より良いサービスが提供されます
support@jmp.com