これは簡単なように思えますが、ドキュメントでこれを行う方法が見つかりません。カンマ区切りのファイルを読みたいのですが、幅が非常に広いので、いくつかの列だけを読みたいのです。
私はこれを行うことができると思ったが、@
ポインターは区切り文字で定義された列番号ではなく、テキストの列を指しているようだ:
data tmp;
infile 'results.csv' delimiter=',' MISSOVER DSD lrecl=32767 firstobs=2;
@1 id
@5 name$
run;
この例では、区切り文字に基づいて 1 列目と 5 列目にあるものだけを読み取りたいのですが、SAS はテキスト ファイルの 1 番目と 5 番目にあるものを読み取っています。したがって、入力ファイルの最初の行が次のように始まる場合
1234567, "x", "y", "asdf", "bubba", ... その他の変数 ...
id=1234567
とが欲しいのname=bubba
ですが、 を取得してname=567, "
います。
すべての列を読み、不要なものを削除できることはわかっていますが、もっと良い方法があるはずです。