2015年5月28日木曜日

複数のテキストファイルを個別に読み込む時に便利なINFILEステートメントの書き方。


「C:\SAMPLE」 というパスに、以下のようなCSVファイルがいくつかあったとします。

A1.csv
11,22,33
44,55,66

A2.csv
aa,bb,cc
dd,ee,ff

これらを個別に読み込んでデータセット化したい場合、
filenameステートメントを以下青文字のように書きがちですが、、

filename TEST1 "C:\SAMPLE\A1.csv";
data DT1;
  infile TEST1 dsd truncover;
  input a b c;
run;

filename TEST2 "C:\SAMPLE\A2.csv";
data DT2;
  length d e f $20.;
  infile TEST2 dsd truncover;
  input d e f;
run;

↓↓
filenameステートメントでは、フォルダのパスまでを指定しておき、
infileステートメントで 「ファイル参照名 (ファイル名)」 という書き方でいけます。

filename TEST "C:\SAMPLE";

data DT1;
  infile TEST ("A1.csv") dsd truncover;
  input a b c;
run;

data DT2;
  length d e f $20.;
  infile TEST ("A2.csv") dsd truncover;
  input d e f;
run;

こちらの方が、すっきりとして見やすくいい感じです。

0 件のコメント:

コメントを投稿