複数のテーブルを開き、それらをメモリにマージして、小計の結果を把握するにはどうすればよいですか?たとえば、「c:\ 1 \」パスには、「BigClass.jmp」構造のように見える5つのデータファイルがあります。
「連結」なしでメモリ内の5つのファイルの「高さ」列のデータを「年齢」列で分類および要約する方法。
次のコードで実装されているかのように効果を実現します。
dir = "c:\1\";
Fs = Files In Directory( dir );
For( d = 1, d <= 5, d++,
d1 = Open( dir || fs[d] );
If( d == 1,
d2 = d1,
d2 << Concatenate( Data Table( d1 ), Append to first table );
Close( d1, nosave );
);
);
d1 = d2<< Summary(
Group( :age ),
Sum( :height ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
スクリプティングRe:複数のテーブルを開き、それらをメモリにマージして、小計の結果を把握するにはどうすればよいですか?これがメモリ内バージョンのコードです。ビジュアルオブジェクトを作成したり、ビジュアルコンポーネントのメモリを占有したりすることはなく、結果とともに2つのメモリアイテム、1つのリスト、および1つのマトリックスを作成します。
names default to here(1);
dt = open("$SAMPLE_DATA/big class.jmp",private);
dt << set name("zippy");
dt2 = open("$SAMPLE_DATA/big class.jmp",private);
dt3 = dt2<< Concatenate( dt,private );
close(dt,nosave);
close(dt2,nosave);
summarize( dt3, bygroup = by(:age), heightSum = sum(:height));
close(dt3,nosave);
show(bygroup,heightSum);Re:複数のテーブルを開き、それらをメモリにマージして、小計の結果を把握するにはどうすればよいですか?ジムありがとう!
そのようなファイルが100個ある場合は、ファイル名を「001.JMP-100.JMP」に設定してください。
ファイル名の順序に従って一度に60個のファイルをスプライシング、ソート、および要約し、結果を出力します。したがって、41個の結果があります。
最初の連結は、上記の方法に従って001.Jmp-060.JMPファイルから最初の結果を取得することです。
「002.Jmp-061.JMP」ファイルの2回目の処理では、今回はどのように結合してより速く要約するのですか?
Re:複数のテーブルを開き、それらをメモリにマージして、小計の結果を把握するにはどうすればよいですか?- 最初の60を連結します
- [ソース列の作成]オプションが指定されていることを確認してください
- 統計を生成する
- 新しいファイルを読み込んで、1〜60のテーブルに連結します
- 「ソース列」を使用して、データテーブル1からすべての行を選択します
- 統計を生成する
- 100個のファイルがすべて読み込まれて分析されるまで、手順3〜5を繰り返します。