728x90

SAS 프로그램 내에 데이터를 직접 입력하려면 CARDS; 문을 사용하고, 하드디스크나 USB에 저장되어 있는 외부 파일을 불러올 때에는 INFILE 문을 사용합니다.

일반적으로 데이터는 SAS 프로그램 내에 직접 넣지 않고, 다른 외부파일에 별도로 보관되어 이를 SAS로 불러 들여 사용하는 경우가 많습니다.

저자는 간단한 SAS 프로그램의 문법을 테스트하기 위해 CARDS;를 사용할 뿐, 일상 업무에는 외부의 파일을 읽어 들여 사용합니다.

 

4.1.1 텍스트파일 불러오기 메뉴 이용

 

텍스트 파일 등 외부파일을 읽어 들일 때에는

(1) SAS의 메뉴를 이용하거나

(2) 직접 프로그램을 작성하여 사용하는 방법이 있습니다.

우선 메뉴를 이용하여 텍스트 파일을 불러오는 방법을 설명합니다.

 

메뉴 [파일(F)]-[데이터 가져오기(I)]를 클릭합니다.

메뉴 [파일]-[데이터 가져오기(I)]를 클릭하면 Import 위저드화면이 나타납니다.

 

엑셀파일 지정

SAS에서는 엑셀 뿐만 아니라 SPSS 파일(*.sav), Stata 파일(*.dta), 컴마로 구부된 CSV 파일(*.csv) 등 다양한 파일 형태를 불러올 수 있습니다.

여기서 “Delimited File(*.*)” 를 선택하고 [Next] 클릭합니다.

그리하면 파일을 지정하는 화면이 나타납니다. d:\sas_class\04.txt를 지정합니다.

그리하면 구분자(dlimiter)를 지정하는 화면이 나타나는데 Space 를 선택합니다. 다음 문자로 구분자가 지정된 경우에는 다른 구분자를 지정하면 됩니다

 

 

이제는 저장할 SAS 데이터셋 이름을 지정합니다. SAS 데이터셋 이름은 SAS 프로그램에서 직접 이용하게 됩니다.

SAS 데이터셋 이름 지정하는 화면

그리고 이렇게 메뉴방식으로 진행되는 과정을 SAS 프로그램을 저장할 수 있습니다. d:\sas_class\04txt.sas’ 로 지정합니다.

SAS 프로그램을 지정하는 화면

이렇게 만들어진 프로그램 04.txt.sas를 보면 다음과 같이 작성되어 있는 것을 볼 수 있습니다.

 

1 PROC IMPORT OUT= WORK.A1

2 DATAFILE= "D:\sas_class\survey.txt"

3 DBMS=DLM REPLACE;

4 DELIMITER='20'x;

5 GETNAMES=NO;

6 DATAROW=1;

7 RUN;

 

1 PROC IMPORT OUT= WORK.A1
외부 파일을 읽어와서 SAS 데이터셋 WORK.A1을 만듭니다.

 

2 DATAFILE= "D:\sas_class\survey.txt"

3 DBMS=DLM REPLACE;

4 DELIMITER='20'x;
폴더 D:\sas_class\ 에 있는 survey.txt 란 파일을 읽어오는데 구분자가 빈칸으로 되어 있습니다.

 

5 GETNAMES=NO;

6 DATAROW=1;
첫 행에는 변수명이 없고, 첫 행부터 읽어 들입니다.

 

 

+ Recent posts