본문 바로가기
프로그래밍/SAS

001. [import, export] SAS 파일 불러오기 & 내보내기

by life_is_egg 2021. 8. 20.
반응형

  목차  

1. 폴더 만들기

2. EXCEL 파일 불러오기

3. 변수 오류가 생길 때

4. 외부로 내보내기


1. 폴더 만들기

 

sas를 처음 접속하면 아래와 같은 세 가지 창이 포함된 화면이 뜬다.

오늘은 그 중 탐색기 확장편집기를 활용하여 파일을 불러올 것이다.

SAS 9.4 한국어버전

 

 

먼저, 탐색기에서 [라이브러리]를 들어간다.

원하는 폴더를 만들기 위해서는 라이브러리 창에서 우클릭 후 [새로 만들기]를 클릭한다.

라이브러리는 폴더가 모여 있는 공간이라고 보면 된다!

 

 

이름을 채우고, 폴더를 저장해둘 경로를 만든다.

[시작할 때 자동 할당] 체크 버튼을 채우지 않으면, 다음에 sas를 새로 시작할 때 지금 만든 폴더가 사라진다.

 

코드나 데이터셋들은 컴퓨터 내에 저장되기 때문에 저장된 코드와 데이터셋들은 해당 폴더에서 바로 열 수도 있다.

 

 

다음과 같이 폴더 만들기 완성!


2. EXCEL 파일 불러오기

 

아래의 데이터 파일을 이용해 불러오기와 내보내기를 할 것이다.

Kaggle에서 받은 데이터로, 빠른 분석을 위해 랭크 300위까지만 추출했다.

vgsales_300rank.csv
0.02MB


엑셀파일을 다양한 형식(xlsx, csv 등)으로 저장하는 경우가 있는데,

불러오는 코드는 거의 같고 파일 형식만 바꾸면 된다.

 

먼저 파일이 '어디에 저장되어 있는지' 파일 위치가 필요하다.

이건 주로 파일 속성에 들어가 위치 정보를 그대로 사용하면 된다.

 

 

Proc import를 이용해 파일을 불러올 수 있다.

아래 코드를 그대로 복사해서 첫번째와 네번째 줄만 수정하면 된다.

 

infile문으로도 파일을 불러올 수 있지만 변수명을 일일이 다 적어줘야하는 불편함이 있다.

 

sheet='Sheet1';을 추가하여 원하는 시트만 불러올 수도 있다.

FILENAME REFFILE 'C:\Users\gus54\Desktop\test\vgsales_300rank.csv';  /*불러올 파일*/

PROC IMPORT DATAFILE=REFFILE

DBMS=CSV  /*불러오는 파일 형식*/

OUT=test.vgsales_300rank;  /*저장할 형태_폴더명.파일명*/

GETNAMES=YES;

RUN;

불러오는 파일이 xlsx 형식이라면, DBMS=CSV를 DBMS=XLSX로 바꾸면 된다.

 

 

최종적으로 이렇게 만들어진다!


3. 변수 오류가 생길 때

데이터 가져오기가 실패했습니다. 자세한 내용은 로그창을 참고하십시오.
오류가 발생하여 SAS 시스템은 현재 스텝의 실행을 중지합니다.

위에 첨부한 파일을 그대로 불러오면 오류가 생긴다.

오류의 원인을 알아내기 위해서는 로그를 살펴봐야한다.

로그창에 의하면 변수에 대해 올바르지 않은 데이터가 있다고 한다.

로그창은 오류 원인을 알려준다!

 

 

Year 변수의 값들은 numeric 형태이지만 N/A라는 character 형태가 있기 때문이다.

쉽게 말해, 숫자가 들어가야할 곳에 문자가 들어간 것이다.

sas를 사용할 때는 항상 이런 변수 형태에 유의해야한다.

변수 형태 통일은 필수

N/A(문자)를 9999등의 숫자로 바꿔주거나 삭제하면 오류는 해결된다.


4. 외부로 내보내기

 

sas 데이터를 외부로 내보내기 위해서는 Proc export를 이용한다.

proc export data=test.vgsales_300rank /*내보낼 data*/
outfile='C:\Users\gus54\Desktop\test\vgsales_300rank_out.csv'  /*내보낼 위치 & 파일명*/
DBMS=CSV; /*파일 형식*/

run;

 

로그창에 '성공적으로 생성했다'는 말이 뜬다면 안정적으로 dataset이 저장된 것이다.

반응형

댓글