データセットのサイズを見積もる方法
[OS] ALL
[リリース] 8.2
[キーワード] SAS 8, CONTENTS, FILE SIZE, DATASET
[質問]新規に作成するデータセットに必要なディスク容量を推定するために、データセットのサイズを見積もる計算式はありますか。 [回答]データセットのサイズは、下記の計算式で概算することができます。
新規に作成するデータセットのサイズを見積もる場合には、まず必要な変数を含む1オブザベーションのみのダミーのデータセットを作成します。そしてこのデータセットに対しCONTENTSプロシジャを実行します。 /* サンプルデータセットを作成 */ DATA test ; INPUT a b c d e ; CARDS; 1 2 3 4 5 ; RUN; /* CONTENTSプロシジャを実行 */ PROC CONTENTS DATA=test ; RUN; CONTENTSプロシジャの出力結果から、「ページごとの最大オブザベーション数」と「ページサイズ」が分かります。以下はCONTENTSプロシジャの出力結果の一部を抜粋したものです。 -----エンジン/ホスト関連情報 ----- データセットのページサイズ: 4096 データセットのページ数: 1 データページの先頭: 1 ページごとの最大 OBS 数: 101 ・ ・ データセットの「ヘッダー部分のサイズ」は、Windows版では256バイト、UNIX版では8K(=8*1024)バイトです。これらの数値と想定するオブザベーション数を、最初に示した計算式に代入すると、新規に作成するデータセットのサイズを概算できます。 Windows版 SASで、上記サンプルデータセットTESTと形式が同様でオブザベーション数が1000と仮定したデータセットのおよそのサイズは、次のようなプログラムで算出できます。 /* データセットのサイズを計算 */ DATA _null_ ; pagenum = 1 + FLOOR(1000/101) ; datasize = 256 + (pagenum*4096) ; PUT datasize= ; RUN;
ログに datasize=41216 と表示されます。計算したデータセットのおよそのサイズが41,216バイトくらいになることを表しています。
|