データフィルターをクリアして元のデータテーブルに戻すスクリプト<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは。複数の種類のグラフを生成したい大規模なデータ セットがあります。一連のグラフを作成したい 18 の異なるカテゴリを含む列があります。したがって、次のデータフィルタースクリプトがあります。
現在のデータ テーブル() << データ フィルター(
場所 ( { 30, 30})、
モード (選択 ( 0)、表示 (1)、含める (1))、
フィルターを追加(
列 (:X)、
ここで(:x == "A")、
表示 (:X、サイズ (204、174)、リスト表示)));
データ フィルターが機能し、グラフ ビルダーを実行できるようになりました。ただし、データ フィルターをクリアし、名前を A から B に変更して、グラフを再実行したいと考えています。また、これらすべてを 1 つの長いスクリプトにまとめて、[実行] をクリックしてこれらすべてを一度に生成できるようにしたいと考えています。それは毎週のプロセスです。とにかく、誰もそれを行う方法を知っていますか。これには明確な関数があることはわかっていますが、それを機能させるためのスクリプトの作成方法がわかりません。
助けていただければ幸いです。
ありがとう、
チャド
Re: データフィルターをクリアして元のデータテーブルに戻すスクリプトデータテーブル Big Class を使用して、次のようなことを行いました。
分布(
自動再計算( 1 ) 、
継続的な配布(カラム( :重さ) )
) ;
価値= { 12 、 13 、 14 、 15 } ;
オブジェクト=現在のデータテーブル() <<データフィルター(
位置( { 30 、 30 } ) 、
モード(選択する( 0 ) 、見せる( 1 ) 、含む( 1 ) ) 、
フィルターの追加(列( :年) 、どこ( :年==価値[ 1 ] ) )
) ;
のために(私= 2 、私< 5 、私++、
オブジェクト<<クリア
オブジェクト<< (フィルター列( :年) <<どこ( :年==価値[私])) ;
待って( 1 )
) ;
Re: データフィルターをクリアして元のデータテーブルに戻すスクリプトそれが私がやりたいことです。Clear ステートメントは、グラフ ビルダー スクリプトの後、新しいデータ フィルター スクリプトの前に置きました。それは正しい場所ですか?その場合、データフィルターはクリアされず、フィルターの設定を変更することはできませんでした。それは同じままでした。
Re: データフィルターをクリアして元のデータテーブルに戻すスクリプト正確に何が必要かによっては、行の状態を直接操作する別のアプローチも考えられます。
名前デフォルトここへ( 1 ) ;
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
// 'by' 変数のリスト
コルズ= { :年、 :セックス} ;
// 'by' 変数をループします
のために( c = 1 、 c <= Nアイテム(コルズ) 、 c ++、
// この変数のレベルは何ですか
レフ=連想配列(コルズ[ c ]) <<キーの取得;
// レベルをループします
のために(私= 1 、私<= Nアイテム(レフ) 、私++、
// 白紙の状態から始めます
dt <<クリア行状態;
// 行を適切に選択するためのテンプレート式
CMD =エクスプレッション( dt <<選択場所(コル!=レフ)) ;
// 現在の値を「焼き付ける」
代入( CMD 、エクスプレッション(コル) 、コルズ[ c ] 、エクスプレッション(レフ) 、評価(レフ[私])) ;
// 最後に選択を行います
CMD ;
// 非表示にして除外する
dt <<隠れる<<除外する;
// グラフを作成します。 。 。
待って( 1 ) ;
) ;
) ;
dt <<クリア行状態;
グラフ ビルダー固有の場合は、起動時に実際に 'by' 変数を消費するという事実を利用することもできます。
Re: データフィルターをクリアして元のデータテーブルに戻すスクリプトこれはあなたが考えていることですか?
値 = { 12, 14};
オブジェクト=現在のデータテーブル() <<データフィルター(
位置( { 30 、 30 } ) 、
モード(選択する( 0 ) 、見せる( 1 ) 、含む( 1 ) ) 、
フィルターの追加(列( :年) 、どこ( :年==価値[ 1 ] ) )
) ;
オブジェクト<<クリア
オブジェクト<< (フィルター列( :年) <<どこ( :年==価値[ 2 ])) ;