サブセットの複数のデータテーブル名製品を変更する<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tableサブセットの製品である複数の開かれたテーブルの名前をバッチで変更したいと思います。
次のスクリプトを使用して "MyData.jmp"という名前のテーブルをサブセット化すると、元のテーブルの名前の後にスペースと連続番号が続くテーブルが取得されます( "MyData 1"、"MyData 2"、"MyData 3")。"、" MyData n ") 代わりに、各テーブルに、それがサブセット化された特定レベルの列の名前を付けたいと思います(スクリプトの後で説明します)。
//データテーブルをサブセット化します(異なる列レベルで)。
データテーブル( "MyData.jmp")<<
サブセット(
(:Ref)までに、
すべての行
選択された列のみ(0)
列(
:日、
:月、
:グリッド、
参照
)
)
一方、インターフェースを使用してテーブル( "MyData.jmp")をサブセット化すると、"Ref = P100_1"、"Ref = P100_2"、"Ref = P100_25"などのテーブル名が表示されます。"Ref"という列でテーブルをサブセット化し、"="の後にサブセットを持つカラムのレベルが表示されることを意味します。この場合、テーブルの名前として「P100_1」、「P100_2」、「P100_25」という部分だけを持つことに興味があります。この場合、すべてのデータテーブルから同じテキストを一括して削除する必要があります( "Ref =")。
再:サブセットの複数のデータテーブル名の製品を変更するありがとう、Ian @ JMP!
スクリプトは実際に非常にうまく機能しました。
私はサブテーブルに「見えない」要素を導入して、たくさんのウィンドウが開かないようにしてから、それらをテキストファイルとして(別のスクリプトと共に)保存します。それはまたうまく働いたようです。
// Eaxampleテーブル
dt = 開いた ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
//列の例
コル = カラム ( dt 、 "年齢" ) ;
//:ageでサブセットを作る
colLevs = 連想配列 ( コル ) << getKeys ;
にとって ( 私 = 1 、私 <= NItems ( colLevs ) 、私 ++、
r2get = dt << getRowsWhere ( : 年齢 == colLevs [ 私 ]) ;
dtSub = dt << サブセット (「見えない」、行 ( r2get )) ;
dtSub << setName ( チャー ( colLevs [ 私 ])) ;
) ;
再:サブセットの複数のデータテーブル名の製品を変更するこれが一つの方法です:
// Eaxampleテーブル
dt = 開いた ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
//列の例
コル = カラム ( dt 、 "年齢" ) ;
//:ageでサブセットを作る
colLevs = 連想配列 ( コル ) << getKeys ;
にとって ( 私 = 1 、私 <= NItems ( colLevs ) 、私 ++、
r2get = dt << getRowsWhere ( : 年齢 == colLevs [ 私 ]) ;
dtSub = dt << サブセット ( 行 ( r2get )) ;
dtSub << setName ( チャー ( colLevs [ 私 ])) ;
) ;