効率のよい外部ファイルの読み方(DATAステップビュー)

[OS]ALL
[リリース] 6.07, 6.08, 6.09, 6.10
[キーワード] base, datastep, view, view=, external, file

[質問]

大容量の外部ファイルのデータを読み込んでSASファイルを作成すると、ディスク容量を大量に使用してしまいます。
ディスク使用量を節約して外部ファイルを読み込むためにはどうしたらいいでしょうか。

[回答]

外部ファイルを読み込み、そのデータに対してプロシジャなどで出力を得るといった場合には、まずDATAステップで外部ファイルを読み込み、SASデータセットを作成してから、 PROCステップで出力させるようにしますが、途中でSASデータセットを作成するため、ディスク容量をその分使うことになります。

DATAステップビューを利用すると、データを作成するための情報だけを持ちデータ値を持たないファイル、SASデータビューを作成するので、SASデータセットと同じだけの容量は必要ありません。
参照のみでの使用に限られますが、あたかもSASデータセットのように扱うことができますのでどなたでも簡単に利用できます。
DATAステップビューは、DATAステートメントにVIEW=オプションを指定して作成します。

DATA SASデータセット名 / VIEW=ビュー名;

SASのソースコードからDATAステップビューを作成すると、コンパイルをして生成された中間コードはこの場合、WORKのSASライブラリ中に保存されます。
作成したビューをDATAステップあるいはPROCステップで使用する時、コンパイラは中間コードを実行可能コードに変換します。 そして生成されたコードはDATAあるいはPROCステップ中で実行されます。
データはビューを作成する時ではなく、ビューを使用する時に読み込まれます。
SASデータビューは、データを持たず必要な時に読み込みを行うので、無駄なSASファイルを作らずに、常に最新のデータを使用できます。

[参考]

  • 「SASランゲージ: リファレンス, Version 6, First Edition」(注文番号 10067)