포스팅 목차
[ 데이터 스텝 구문 ]
실행 구문과 선언 구문
데이터 스텝은 실행 구문과 선언 구문으로 구성된다. 실행 구문은 데이터 스텝의 개별 반복을 통하여 작업 결과를 반환한다. 선언 구문은 SAS에 정보를 제공하고, 시스템이 프로그램 구문을 컴파일 할 때 적용된다.
다음 테이블은 데이터 스텝에서 사용 할 수 있는 SAS 실행 구문과 선언 구문을 보여준다.
[실행구문 ]
[실행구문 ]
ARRAY | DATALINES4 | 구문 레이블 |
ATTRIB | DROP | LENGTH |
BY | END | RENAME |
CARDS | FORMAT | RETAIN |
CARDS4 | INFORMAT | WHERE |
DATA | KEEP | WINDOW |
DATALINES | LABEL |
데이터 스텝 구문 범주 구분
SAS 데이터 스텝은 기능적으로 5개 범주로 구분한다.
SAS 구문 범주 | 기능 |
작업 | * 변수 생성과 수정 * 데이터 스텝에서 처리하기 위한 특정 관측치 선택 * 입력 데이터에서 오류 검색 * 생성된 관측치를 대상으로 작업 수행 |
제어 | * 특정 관측치에 대한 구문 처리를 생략 * 구문의 실행 순서 변경 * 실행을 다른 곳으로 이동 |
파일 처리 | * 입력 위하여 사용되는 파일 작업* D 구문에 의하여 작성되는 파일 작업 |
정보 | * 프로그램 데이터 벡터에 대한 추가 정보 제공 * 데이터 스텝 또는 생성된 데이터 스텝에 대한 추가 정보 제공 |
윈도우(창) 표시 | * 사용자 정의 윈도우 정의와 출력 |
다음 테이블은 범주별로 DATA 스텝 구문을 설명한다.
* 작업 구문
SAS 구문 | 설명 |
ABORT | 현재 실행중인 데이터 스텝, SAS 작업 또는 SAS 세션의 실행을 중지시킨다. |
할당 구문 | 표현식을 평가하고, 표현식 결과값을 변수에 저장한다. |
CALL 구문 | SAS CALL 루틴(Routine)을 호출한다. |
DELETE | 현재 실행중인 관측치에 대한 처리를 중지하여, 출력 데이터에서 관측치를 삭제한다. (출력하지 않는다.) |
DESCRIBE | 컴파일 되어 저장된 데이터 세트 프로그램 또는 데이터 스텝 뷰(View)에 대한 소스 코드를 확인한다. |
ERROR 구문 | 내부 변수 _ERROR_을 1로 설정하라. 옵션으로 SAS로그에 메시지를 작성한다. |
EXECUTE | 컴파일 되어 저장된 데이터 스텝 프로그램을 실행한다. |
부분 분할 IF 구문 | 지정된 표현식의 조건을 만족하는 관측치에 대하여 처리를 계속 수행한다. |
LIST | INPUT 구문에서 처리되는 입력 데이터 레코드를 확인하기 위하여 SAS 로그에 출력한다. |
LOSTCARD | 하나의 관측치가 여러 레코드에 존재하는 데이터에서 결측치 또는 유효하지 않은 레코드를 만났을 때 입력 상태를 재동기화한다. |
NULL | 데이터 라인의 종료를 알리는 위치표시자 이다. |
OUTPUT | SAS 데이터세트에 현재 관측치를 작성한다. |
PUTLOG | SAS로그에 메시지를 출력한다. |
REDIRECT | 저장된 프로그램을 실행하는 경우에 사용하기 원하는 입력 또는 출력 SAS 데이터세트를 지정한다. |
REMOVE | SAS 데이터세트에서 관측치를 삭제한다 |
REPLACE | 추가적으로 새로운 SAS 데이터 세트를 생성하지 않고 기존에 존재하는 SAS 데이터 세트에 존재하는 관측치를 대체(갱신)한다. |
STOP | 현재 데이터 스텝의 실행을 중지한다. |
SUM | 누적(Accumulator) 변수에 표현식의 결과값을 더한다. |
WHERE | SAS 데이터 세트에서 특정 조건에 해당하는 관측치를 선택한다. |
* 제어 구문
SAS 구문 | 설명 |
CONTINUE | 현재 관측치에 대한 DO 반복문 처리를 멈추고, 다음 관측치에 대한 반복 처리를 계속해서 다시 진행한다. |
DO 구문 | 그룹 단위로 실행되는 문장의 그룹을 지정하라. |
DO 반복문 | 인덱스 변수의 값에 따라서 반복적으로 DO 구문과 END 구문 사이의 구문을 실행한다. |
DO UNTIL | 조건식이 참이 될 때까지 반복적으로 DO 반복문 안의 문장을 실행한다. |
DO WHILE | 조건식이 참일 동안에 반복적으로 DO 반복문 안의 문장을 실행한다. |
END | DO 그룹 또는 SELECT 그룹 표현식의 종료를 표시한다. |
GO TO | Label 인수에서 지정된 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 | 세미콜론(;)이 포함된 데이터 입력 라인을 선언한다. |
DATA | DATA 스텝의 시작을 선언하고, 출력 SAS DATA 세트, 뷰(View), 프로그램의 이름을 설정한다. |
DATALINES | 데이터 라인의 시작을 선언한다. |
DATALINES4 | 세미콜론이 포함된 데이터 라인의 시작을 알린다. |
FILE | PUT 구문에 대한 출력물 파일을 지정한다. |
INFILE | INPUT 구문을 사용하여 읽기 위한 외부 파일을 지정한다. |
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데이터 세트에서 관측치를 읽는다. |
UPDATE | Transactions 파일에서 Master 파일을 변경하기 위한 내용을 사용하여 Master 파일에 대하여 갱신(Update) 또는 삽입(Insert) 작업을 수행한다. |
* 정보 구문
SAS 구문 | 설명 |
ARRAY | 배열의 원소를 정의한다. |
배열 참조 | 처리하기 위한 배열의 원소를 참조하기 위한 방법을 지정한다. |
ATTRIB | 다수의 변수에 대한 출력형식(format), 입력형식(informat), 라벨(Label), 길이(Length)를 지정한다. |
DROP | 출력 SAS 데이터 세트에 특정 변수를 제거한다.(출력하지 않는다.) |
FORMAT | 변수에 출력형식(format)을 지정한다. |
INFORMAT | 변수에 대한 입력형식(Informat)을 지정한다. |
KEEP | 출력 데이터 세트에 포함되는 변수를 지정한다. |
LABEL | 변수에 대한 설명 레이블을 지정한다. |
LENGTH | 변수를 저장하기 위하여 사용되는 변수의 길이(byte의 수)를 지정한다. |
MISSING | 입력데이터에서 수치형 데이터의 특별한 결측치 값을 표현하기 위한 문자를 지정한다. |
RENAME | 출력 SAS 데이터 세트에서 변수에 새로운 이름을 지정한다. |
RETAIN | INPUT 구문 또는 할당문에 의해 생성된 변수의 값이 데이터 스텝의 반복이 새롭게 시작 할 때마다 초기화되는 것(기본 수행 작업)을 방지하여서, 데이터 스텝의 현재 반복에서 다음 반복까지 변수의 값이 유지되도록 한다. |
[ 전역 구문 ]
정의
전역 구문은 일반적으로 SAS 정보를 제공, 정보 또는 데이터 요청, 서로 상이한 실행 모드 사이의 이동, 시스템 옵션의 값 설정 등의 역할을 수행한다. SAS 프로그램 어디서나 전역 구문을 사용 할 수 있다. 전역 구문은 실행문이 아니며, 프로그램 구문 컴파일 시점에 적용된다.
전역 구문 범주 구분
SAS 전역 구문은 기능적으로 3개 범주로 구분한다.
SAS 구문 범주 | 기능 |
데이터 접근 | SAS 라이브러리, SAS 카탈로그, 외부파일 와 출력 장치 등의 참조 이름을 정의하고, REMOTE 파일에 접근 |
LOG 제어 | SAS log의 출력 방식을 변경 |
운영 환경 | 직접적으로 운영 환경 접근 |
출력 제어 | SAS OUTPUT에 제목과 각주를 추가. 다양한 형태의 출력물 제어 |
프로그램 제어 | SAS 프로그램 처리 방법을 제어 |
* 데이터 접근 구문
SAS 구문 | 설명 |
CATNAME | 다수의 카탈로그를 카탈로그 참조자(catref)를 사용하여 논리적으로 하나의 카탈로그로 결합한다. |
FILENAME | SAS 파일참조자(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 파일에 접근 할 수 있다. |
LIBNAME | SAS 라이브러리에 라이브러리 참조자(libref-단축이름)를 할당하거나 해제한다. |
* LOG 제어 구문
SAS 구문 | 설명 |
주석 구문 | SAS 문장 또는 프로그램에 대한 주석을 작성한다. |
PAGE | SAS 로그에서 새로운 페이지로 이동하도록 지시한다. |
SKIP | SAS 로그에 공백 라인을 추가한다. |
* 운영 환경 구문
SAS 구문 | 설명 |
X 구문 | SAS세션안에서 운영 환경 명령어를 실행한다. |
* 출력 제어 구문
SAS 구문 | 설명 |
FOOTNOTE | 프로시져와 데이터 스텝 출력물의 하단에 10개 텍스트 라인(각주)을 작성한다. |
TITLE | SAS 출력에 대한 제목(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 * 구문 이후의 소스 문장을 종료한다. |
SASFILE | SAS 데이터 세트를 열고, 메모리에서 전체 파일을 유지하기 위하여 충분한 버퍼를 할당한다. |
반응형
'SAS > SAS 구문사전' 카테고리의 다른 글
【SAS Statement】 %LIST 구문 (0) | 2023.06.10 |
---|---|
【SAS Statement】 Assignment(할당) 구문 (0) | 2023.06.10 |
【SAS Statement】 Array Reference(배열 참조) 구문 (0) | 2023.06.09 |
【SAS Statement】 SKIP 구문 (0) | 2023.05.28 |
【SAS Statement】 %RUN 구문 (0) | 2023.05.28 |
댓글