[BASE SAS기초] Reading SAS Data Sets (1)
이번 강의는 SAS DATA STEP에 대한 이해와 활용을 목적으로 합니다.
아래의 문장들을 하나하나 알아보도록 하겠습니다.^^
LIBNAME libref ‘SAS-data-library’;
DATA output-SAS-data-set;
SET input-SAS-data-set;
WHERE where-expression;
KEEP variable-list;
LABEL variable=’label’
variable=’label’
variable=’label’;
FORMAT variable(s) format;
RUN;
먼저 오늘은 LIBNAME 문장, DATA문장, SET문장, RUN문장을 알아보도록 하겠습니다.
(참고로, BASE SAS에서 문장은 ‘;’으로 구분합니다.
EX. LIBNAME ~ ; 는 LIBNAME 문장이라 하고 SET ~ ; 은 SET문장이라고 부릅니다.)
그럼 본격적으로 LIBNAME 문장에 대해 알아보도록 하겠습니다.
위에서 보신 바와 같이 LIBNAMME문장의 구조는 아래와 같습니다.
LIBNAME libref ‘SAS-data-library’;
문장의 구성을 보면,
먼저 LIBNAME은 영구라이브러리를 생성하겠다 라는 키워드(Keyword)입니다.
libref 자리에는 생성하고자 하는 영구라이브러리의 이름을 적어주시면 됩니다.
(참고 : 라이브러리 명은 최대8글자까지 가능합니다.
또한 시작은 문자 또는 언더바(_)로 시작하여야 하고
나머지 뒷부분의 이름은 문자, 숫자, 언더바(_) 모두 가능합니다.
대소문자는 구분하지 않습니다.)
마지막으로 ‘SAS-data-library’는 홀 따옴표 안에 영구라이브러리의 위치를 지정해주시면 됩니다.
[LIBNAME 문장 예제/활용]
즉, 만일 Customer라는 이름의 영구라이브러리를 C드라이브의 DATA폴더로 지정하고자 하신다면
LIBNAME Customer ‘C:\DATA’; 라고 적어주시면 됩니다.
위의 문장을 실행하시면
C드라이브의 DATA폴더를 SAS와 연결시켜주는 Customer라는 라이브러리가 생성됩니다.
그럼 이제 영구라이브러리를 이용하는 방법에 대해 알아보도록 하겠습니다.
파일을 가져올 때 libref.filename 구조로 적어주시면 됩니다.
예를 들면 Customer 라이브러리 안의 Teen_customer라는 SAS데이터 셋을 읽어와서
임시라이브러리인 WORK에 TEEN이라는 데이터셋 명으로 생성하고 싶다면
아래의 DATA STEP을 실행하시면 됩니다. (DATA문장으로 시작하면 DATA STEP이라 부릅니다.)
DATA WORK.TEEN;
SET Customer.Teen_customer;
run;
(임시라이브러리는 WORK 단 하나이므로
위의 DATA문장에서 WORK.TEEN을 TEEN으로 바꾸어 작성하여도 무방합니다.
즉, TEEN앞에 있는WORK.을 생략하셔도 됩니다.)
2. DATA문장, SET문장, RUN문장
여기서 DATA문장과 SET문장, RUN문장에 대해 간단히 설명 드리겠습니다.
먼저 DATA 문장은
DATA output-SAS-data-set;
으로, DATA SET을 생성하는 문장입니다.
output-SAS-data-set위치에 생성할SAS데이터 셋 명을 적어주시면 됩니다.
SET문장은
SET input-SAS-data-set;
으로, input-SAS-data-set전체를 그대로 가져온다는 의미의 문장입니다.
즉, 전체 복사로 받아들이시면 좋을 것 같습니다.
마지막으로 RUN문장은
RUN;
으로, DATA STEP의 끝을 알리는 문장입니다.
LIBNAME Sales ‘C:\INCOME’;
à C드라이브의 INCOME폴더를 SAS에 Sales라는 영구라이브러리를 만들어 SAS와 연결하기
DATA Customer.Teen_customer;
SET Sales.Teen;
RUN;
à Sales 라이브러리에 있는 Teen이라는 SAS데이터 셋을 그대로 가지고 와서
Customer 라이브러리 위치에 Teen_customer라는 이름으로 SAS데이터 셋 생성하기
이로써LIBNAME 문장, DATA문장, SET문장, RUN문장에 대해 간단히 알아보았는데요.
잘 이해가 되셨는지 모르겠습니다. ^^;
다음 시간에는WHERE문장, KEEP문장에 대해 알아보도록 하겠습니다.
감사합니다 😄
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.