사이트맵  |  Contact Us
 
홈 > SAS Tech & Tip > SAS 고수의 팁
[SAS Statement] SAS 데이터 스텝 구문 리스트 2019.10.28
MYSAS_B(백승민) 110 0
http://www.mysas.co.kr/sas_tiptech/a_all.asp?b_no=11206&cmd=content&bd_no=33

* 출처 : http://statwith.com/sas-statement-sas-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b5%ac%eb%ac%b8-%eb%a6%ac%ec%8a%a4%ed%8a%b8/

 

 

[ 데이터 스텝 구문 ]

 실행 구문과 선언 구문

데이터 스텝은 실행 구문과 선언 구문으로 구성된다. 실행 구문은 데이터 스텝의 개별 반복을 통하여 작업 결과를 반환한다. 선언 구문은 SAS에 정보를 제공하고, 시스템이 프로그램 구문을 컴파일 할 때 적용된다.

다음 테이블은 데이터 스텝에서 사용 할 수 있는 SAS 실행 구문과 선언 구문을 보여준다.

[실행구문 ]

ABORT부분 분할 IF 구문PUT 구문, 열 출력 방식
배열 참조IF-THEN/ELSEPUT 구문, 출력형식 지정 출력방식
할당 구문INFILEPUT 구문, 목록 출력 방식
CALLINPUTPUT 구문, 변수이름 지정 출력 방식
CONTINUEGO TOPUT
DECLAREINPUT 구문, 열입력 방식PUTLOG
DELETEINPUT 구문, 입력형식 지정 입력방식REDIRECT
DESCRIBEINPUT 구문, 목록 입력방식REMOVE
DISPLAYINPUT 구문, 변수 이름 지정 입력 방식REPLACE
DOLEAVERETURN
DO 반복문LINKSELECT
DO UNTILLISTSET
DO WHILELOSTCARDSTOP
ERRORMERGESUM
EXECUTEMODIFYUPDATE
FILENULLOUTPUT

[실행구문 ]

ARRAYDATALINES4구문 레이블
ATTRIBDROPLENGTH
BYENDRENAME
CARDSFORMATRETAIN
CARDS4INFORMATWHERE
DATAKEEPWINDOW
DATALINESLABEL 

 데이터 스텝 구문 범주 구분

SAS 데이터 스텝은 기능적으로 5개 범주로 구분한다.

SAS 구문 범주기능
작업* 변수 생성과 수정
* 데이터 스텝에서 처리하기 위한 특정 관측치 선택
* 입력 데이터에서 오류 검색
* 생성된 관측치를 대상으로 작업 수행
제어* 특정 관측치에 대한 구문 처리를 생략
* 구문의 실행 순서 변경
* 실행을 다른 곳으로 이동
파일 처리* 입력 위하여 사용되는 파일 작업* D
구문에 의하여 작성되는 파일 작업
정보* 프로그램 데이터 벡터에 대한 추가 정보 제공
* 데이터 스텝 또는 생성된 데이터 스텝에 대한 추가 정보 제공
윈도우(창) 표시* 사용자 정의 윈도우 정의와 출력

다음 테이블은 범주별로 DATA 스텝 구문을 설명한다.

* 작업 범주

SAS 구문설명
ABORT현재 실행중인 데이터 스텝, SAS 작업 또는 SAS 세션의 실행을 중지시킨다.
할당 구문표현식을 평가하고, 표현식 결과값을 변수에 저장한다.
CALL 구문SAS CALL 루틴(Routine)을 호출한다.
DELETE현재 실행중인 관측치에 대한 처리를 중지하여, 출력 데이터에서 
관측치를 삭제한다. (출력하지 않는다.)
DESCRIBE컴파일 되어 저장된 데이터 세트 프로그램 또는 데이터 스텝 
뷰(View)에 대한 소스 코드를 확인한다.
ERROR 구문내부 변수 _ERROR_을 1로 설정하라. 옵션으로 SAS로그에 메시지를
 작성한다.
EXECUTE컴파일 되어 저장된 데이터 스텝 프로그램을 실행한다.
부분 분할 IF 구문지정된 표현식의 조건을 만족하는 관측치에 대하여 처리를 계속 수행한다.
LISTINPUT 구문에서 처리되는 입력 데이터 레코드를 확인하기 위하여
 SAS 로그에 출력한다.
LOSTCARD하나의 관측치가 여러 레코드에 존재하는 데이터에서 결측치 또는
 유효하지 않은 레코드를 만났을 때 입력 상태를 재동기화한다.
NULL데이터 라인의 종료를 알리는 위치표시자 이다.
OUTPUTSAS 데이터세트에 현재 관측치를 작성한다.
PUTLOGSAS로그에 메시지를 출력한다.
REDIRECT저장된 프로그램을 실행하는 경우에 사용하기 원하는 입력 또는
 출력 SAS 데이터세트를 지정한다.
REMOVESAS 데이터세트에서 관측치를 삭제한다
REPLACE추가적으로 새로운 SAS 데이터 세트를 생성하지 않고 기존에
 존재하는 SAS 데이터 세트에 존재하는 관측치를 대체(갱신)한다.
STOP현재 데이터 스텝의 실행을 중지한다.
SUM누적(Accumulator) 변수에 표현식의 결과값을 더한다.
WHERESAS 데이터 세트에서 특정 조건에 해당하는 관측치를 선택한다.

제어 구문

SAS 구문설명
CONTINUE현재 관측치에 대한 DO 반복문 처리를 멈추고, 다음 관측치에 대한
 반복 처리를 계속해서 다시 진행한다.
DO 구문그룹 단위로 실행되는 문장의 그룹을 지정하라.
DO 반복문인덱스 변수의 값에 따라서 반복적으로 DO 구문과 END 구문 사이의
 구문을 실행한다.
DO UNTIL조건식이 참이 될 때까지 반복적으로 DO 반복문 안의 문장을 실행한다.
DO WHILE조건식이 참일 동안에 반복적으로 DO 반복문 안의 문장을 실행한다.
ENDDO 그룹 또는 SELECT 그룹 표현식의 종료를 표시한다.
GO TOLabel 인수에서 지정된 LABEL 구문으로 프로그램 실행을 이동하여서
 계속 처리하고, 만약 LABEL 구문 뒷부분에 RETURN 구문이 실행되면
 데이터 스텝의 처음 부분으로 실행을 반환한다.
IF-THEN/ELSE지정한 조건을 만족하는 관측치에 대하여 SAS문장을 실행한다.
구문 레이블GOTO 구문이나 LINK 구문 등의 다른 구문에 의해 참조되는 구문의
 위치를 표시한다.
LEAVE현재 반복문의 처리를 중지하고, 반복문 바로 다음에 위치하는 문장을 계속 실행한다.
LINK프로그램 실행이 지정된 구문 레이블로 바로 이동하여 일련의 
SAS 문장을 실행한다. 만약 구문 레이블 뒤에 RETURN 구문이
 존재하면, LINK 구문 바로 뒤의 문장으로 프로그램 실행을 다시 반환한다.
RETURN데이터 스텝의 현재 위치에서 SAS 문장의 실행을 중지하고, 데이터
 스텝에서 사전에 정의된 위치로 프로세스의 실행을 이동한다.
SELECT여러 SAS 구문 또는 구문 그룹 중에 하나를 실행한다.

* 파일 처리 구문

SAS 구문설명
BY데이터 세트에서 SET, MERGE, UPDATE 구문의 작업 방식을 관리하고, 특별한 그룹화 변수를 설정한다.
CARDS데이터 입력 라인을 선언한다.
CARDS4세미콜론(;)이 포함된 데이터 입력 라인을 선언한다.
DATADATA 스텝의 시작을 선언하고, 출력 SAS DATA 세트, 뷰(View), 프로그램의 이름을 설정한다.
DATALINES데이터 라인의 시작을 선언한다.
DATALINES4세미콜론이 포함된 데이터 라인의 시작을 알린다.
FILEPUT 구문에 대한 출력물 파일을 지정한다.
INFILEINPUT 구문을 사용하여 읽기 위한 외부 파일을 지정한다.
INPUT입력 데이터 레코드에서 관측치 값을 변수로 읽기 위한 방법을 정의하고, 해당 SAS변수에 입력값을 할당한다.
INPUT 구문, 열입력 방식지정된 열에서 입력 값을 읽어서 대응되는 SAS 변수에 값을 할당한다.
INPUT 구문, 입력형식 지정 입력방식지정된 입력형식(Informat)으로 입력값을 읽어서 해당하는 SAS 변수에 할당한다.
INPUT 구문, 목록 입력방식입력 데이터 데이터를 검색하여서 해당하는 SAS변수에 할당한다.
INPUT 구문, 변수 이름 지정 입력 방식“변수이름 = “ 뒤에 존재하는 데이터 값을 읽어서 해당 SAS변수에 할당한다.
MERGE두 개 이상의 SAS 데이터세트의 관측치를 하나의 관측치로 결합하여 새로운 SAS 데이터 세트를 생성한다.
MODIFY새로운 SAS 데이터 세트를 추가로 생성하지 않고 기존에 존재하는 SAS 데이터 세트의 관측치에 대하여 대체, 삭제, 추가 작업을 수행한다.
PUT가장 최근 FILE 구문에서 지정된 SAS 로그, SAS 출력윈도우, 또는 외부파일 등에 출력 라인을 작성한다.
PUT 구문, 열 출력 방식출력 라인의 지정된 열에 변수값을 작성한다.
PUT 구문, 출력형식 지정 출력방식출력 라인에 지정된 출력형식(format)으로 변수의 값을 작성한다.
PUT 구문, 목록 출력 방식지정된 출력 라인에 변수의 값과 지정한 문자열을 작성한다.
PUT 구문, 변수이름 지정 출력 방식“변수명 = ” 바로 뒤에 변수 값을 작성한다.
SET하나 이상의 SAS데이터 세트에서 관측치를 읽는다.
UPDATETransactions 파일에서 Master 파일을 변경하기 위한 내용을 사용하여 Master 파일에 대하여 갱신(Update) 또는 삽입(Insert) 작업을 수행한다.

* 정보 구문

SAS 구문설명
ARRAY배열의 원소를 정의한다.
배열 참조처리하기 위한 배열의 원소를 참조하기 위한 방법을 지정한다.
ATTRIB다수의 변수에 대한 출력형식(format), 입력형식(informat), 
라벨(Label), 길이(Length)를 지정한다.
DROP출력 SAS 데이터 세트에 특정 변수를 제거한다.(출력하지 않는다.)
FORMAT변수에 출력형식(format)을 지정한다.
INFORMAT변수에 대한 입력형식(Informat)을 지정한다.
KEEP출력 데이터 세트에 포함되는 변수를 지정한다.
LABEL변수에 대한 설명 레이블을 지정한다.
LENGTH변수를 저장하기 위하여 사용되는 변수의 길이(byte의 수)를 지정한다.
MISSING입력데이터에서 수치형 데이터의 특별한 결측치 값을 
표현하기 위한 문자를 지정한다.
RENAME출력 SAS 데이터 세트에서 변수에 새로운 이름을 지정한다.
RETAININPUT 구문 또는 할당문에 의해 생성된 변수의 값이 데이터 스텝의
 반복이 새롭게 시작 할 때마다 초기화되는 것(기본 수행 작업)을
 방지하여서, 데이터 스텝의 현재 반복에서 다음 반복까지 변수의 
값이 유지되도록 한다.

[ 전역 구문 ]

 정의

전역 구문은 일반적으로 SAS 정보를 제공, 정보 또는 데이터 요청, 서로 상이한 실행 모드 사이의 이동, 시스템 옵션의 값 설정 등의 역할을 수행한다. SAS 프로그램 어디서나 전역 구문을 사용 할 수 있다. 전역 구문은 실행문이 아니며, 프로그램 구문 컴파일 시점에 적용된다.

 전역 구문 범주 구분

SAS 전역 구문은 기능적으로 3개 범주로 구분한다.

SAS 구문 범주기능
데이터 접근SAS 라이브러리, SAS 카탈로그, 외부파일 와 출력 장치 등의 
참조 이름을 정의하고, REMOTE  파일에 접근 
LOG 제어SAS log의 출력 방식을 변경
운영 환경직접적으로 운영 환경 접근
출력 제어SAS OUTPUT에 제목과 각주를 추가. 다양한 형태의 출력물 제어
프로그램 제어SAS 프로그램 처리 방법을 제어

데이터 접근 구문

SAS 구문설명
CATNAME다수의 카탈로그를 카탈로그 참조자(catref)를 사용하여 논리적으로 하나의 카탈로그로 결합한다.
FILENAMESAS 파일참조자(fileref)를 외부파일 또는 출력 디바이스와
 연결한다. 파일참조자(Fileref)와 외부파일의 관계를 해제 및 외부 파일 속성을 출력한다.
FILENAME 구문, CATALOG 접근 방법외부 파일을 참조하는 것과 유사하게 SAS 카탈로그를 
참조하도록 한다.
FILENAME 구문, CLIPBOARD 접근 방법HOST 컴퓨터의 클립보드로부터 텍스트 데이터를 읽고, 
반대로 클립보드에 텍스트 데이터를 작성 할 수 있다.
FILENAME 구문, EMAIL(SMTP) 접근 방법간이 전자 우편 전송 프로토콜
(Simple Mail Transfer Protocol, SMTP) 이메일 인터페이스를
 사용하여 SAS 프로그래밍 구문에서 전자 메일을 보낼 수 있다.
FILENAME 구문, FTP 접근 방법FTP protocol을 사용하여 remote 파일에 접근 할 수 있다.
FILENAME 구문, SFTP 접근 방법SFTP protocol을 사용하여 remote 파일에 접근 할 수 있다.
FILENAME 구문, SOCKET 접근 방법TCP/IP soket에 접근하여 데이터를 읽고 쓸 수 있도록 한다.
FILENAME 구문, URL 접근 방법URL 접근 방법을 사용하여 remote 파일에 접근 할 수 있다.
FILENAME 구문, WebDAV 접근 방법WebDAV 프로토콜을 사용하여 remote 파일에 접근 할 수 있다.
LIBNAMESAS 라이브러리에 라이브러리 참조자(libref-단축이름)를
할당하거나 해제한다. 

LOG 제어 구문

SAS 구문설명
주석 구문SAS 문장 또는 프로그램에 대한 주석을 작성한다.
PAGESAS 로그에서 새로운 페이지로 이동하도록 지시한다.
SKIPSAS 로그에 공백 라인을 추가한다.

운영 환경 구문

SAS 구문설명
X 구문SAS세션안에서 운영 환경 명령어를 실행한다.

* 출력 제어 구문

SAS 구문설명
FOOTNOTE프로시져와 데이터 스텝 출력물의 하단에 10개 텍스트 라인(각주)을 작성한다.
TITLESAS 출력에 대한 제목(TITLE)을 지정한다.

* 프로그램 제어 구문

SAS 구문설명
CHECKPOINT EXECUTE_ALWAYS검사점 재시동 데이터 고려하지 않고, 이 구문 바로 뒤의 DATA 스텝 또는 PROC 스텝을 실행하도록 한다.
DM 구문SAS 문장처럼 SAS 프로그램 에디터, LOG, 프로시져 출력물 또는 텍스트 에디터에 대한 명령어를 실행한다.
ENDSAS현재 DATA 또는 PROC 스텝 실행 후에 SAS JOB 또는 세션을 종료한다.
%INCLUDE현재 실행중인 SAS 프로그램으로 다른 SAS 프로그래밍 문장, 데이터 라인 또는 양쪽 모두를 호출하여 실행한다.
%LIST현재 세션에서 입력되는 라인을 출력한다.
LOCK존재하는 SAS 파일에 배타적 잠금 상태를 부여하거나 해제한다.
OPTIONS다수의 SAS 시스템 옵션의 값을 지정 또는 변경한다.
RUN이전에 입력된 SAS 문장을 실행한다.
%RUN%INCLUDE * 구문 이후의 소스 문장을 종료한다.
SASFILESAS 데이터 세트를 열고, 메모리에서 전체 파일을 유지하기 위하여 충분한 버퍼를 할당한다.

 
 
휴대폰 번호
휴대폰 인증번호
 
 SAS Ceritified Advanced Programmer 덤프 풀이 25-27
 SAS Ceritified Advanced Programmer 덤프 풀이 22-24