본문 바로가기
SAS

[SAS] sas infile에 대해서 알아보기(옵션 등)

by SASBIGDATA김진휘 2014. 3. 5.

sas에서 외부 데이터를 가지고 올때 infile 문을 사용하는데 거의 공식처럼 따라다니는 옵션들도 많고,

그것들이 무엇을 의미하는지에 대해 자세히 모르고 사용하는 사람들이 많다.

sas infile의 각종 옵션들과 세부사항에 대해서 알아보도록 하자.


아래의 사진은 예제로 코딩을 한 것이다.



%let _EFIERR_ =0;

시스템 변수의 초기화 오류가 발생했을시 자동으로 스탑시키는 명령


delimiter='구분자'  또는 dlm='구분자'

원시데이터에서 변수 별로 구분을 하게 하는 것을 설정하는 곳이다.

일반적으로 가장 많이 사용하는 것이 탭(tab)또는 comma(,) 이다.

tab문자가 구분자일 경우에는 expandtabs

콤마가 구분자일 경우 dlm=','

dlm은 delimiter의 약자로 둘다 같은 용도로 사용된다.


missover

빈 곳이 있을 경우 결측치로 가정하고 끝까지 읽어 들인다.


dsd

구분자들이 연속적으로 있을 경우 구분자 사이를 결측치로 처리한다.

예를 들어 원시데이터에 1,2,3,,4 일 경우 1 2 3 . 4 처럼 결측치로 처리


lrecl

레코드의 길이를 지정하는 것인데 데이터마다 지정하는 값이 개인이 지정하는 것이지만

변수의 종류가 많은 경우 일반적으로 32767을 사용한다.


firstobs=

데이터를 몇번째 줄부터 읽을 것인지를 판단해준다.

만약 원시데이터 첫줄에 변수명이 있다면 데이터는 2번째부터 시작하는 것이므로

firstobs=2로 지정

변수명이 없이 데이터만 있다면

firstobs=1로 지정 혹은 옵션을 아예 지정 하지 않아도 됨.


best12. 또는 best32.

변수의 값들을 숫자형(numeric)으로 인식함.


$숫자.

변수의 값들을 문자형(character)으로 인식함. 숫자에 따라 자리수를 지정한뒤 문자로 인식을 한다.


sasbigdata.com 김진휘


댓글