본문 바로가기
SAS/SAS 구문사전

【SAS Statement】 STOP 구문

by 기서무나구물 2022. 2. 5.

포스팅 목차

    o STOP 구문

     


    1. 목 적 

       프로그램에서 STOP 구문이 실행되면 현재 처리 중인 데이터 스텝의 실행을 중지시킨다. 일반적으로 SAS는 현재 데이터스텝의 데이터에 대한 처리를 종료하면 데이터를 출력하지만, STOP 구문이 실행되면 처리하던 데이터는 추가되지 않는다. STOP 구문은 단독으로도 사용 가능하고, IF-THEN 구문이나 SELECT 그룹 안에서 사용 가능하다.

     

       SET 구문에서 POINT= 옵션과 같은 랜덤 접근 방식을 사용하여 SAS 데이터 세트를 읽는 경우에는 STOP 구문을 함께 사용해야 한다. 그 이유는 SAS가 랜덤 접근 방식에서 라인의 끝(End-of-file)을 감지하지 못할 수 있기 때문에, 그에 따른 데이터 스텝의 무한 반복 상태를 방지하기 위하여 STOP 구문을 추가해야 한다.

     

    2. 문 법 


    STOP;

     

    1) 인수 사용하지 않음

       STOP 구문은 현재 데이터 스텝 처리를 바로 중지시키고, 현재 데이터 스텝 이후의 문장에 대한 처리를 다시 시작하도록 한다.

     

    3. 범 주

    SAS 기본 구문 (실행 구문)

     

    4. 상세 설명

    SAS 현재 데이터스텝의 데이터세트를 출력한다. 그러나, STOP 구문이 실행되면 처리하던 데이터는 추가되지 않는다. STOP 구문은 단독으로도 사용 가능하고, IF-THEN 구문이나 SELECT 그룹 안에서 사용 가능하다.

     

    SET 구문에서 POINT= 옵션과 같은 랜덤 접근 방식을 사용하여 SAS데이터세트를 읽는 경우에는 STOP 구문을 함께 사용하라. SAS 랜덤 접근 방식에서는 라인의 (End-of-file) 감지하지 있기 때문에, 데이터스텝의 무한 반복 상태를 방지하기 위하여 STOP 구문을 추가해야 한다.

     

    5. 범 주

    • 윈도우환경이나 다른 대화식 운영 방식을 사용하는 경우에, ABORT 구문과 STOP 구문 모두 프로그램 처리를 중지시킨다. ABORT 구문은 자동변수 _ERROR_의 값을 1로 설정하지만, STOP 구문은 설정하지 않는다. 
    • 배치모드나 비대화식 모드에서, ABORT 구문과 STOP 구문은 서로 다른 결과를 생성한다. 배치모드나 비대화식 모드에서 DATA 또는 PROC 단계 이후를 계속 처리하기 위하여 STOP 구문을 사용하라.

     


    6. 관련 구문 및 옵션

    구문명 구문내용
    ABORT 구문 현재 실행 중인 데이터 스텝, SAS 작업 또는 SAS 세션의 실행을 종료시킨다.
    STOP 구문 프로그램에서 STOP 구문이 실행되면 현재 처리 중인 데이터 스텝의 실행을 중지시킨다. 
    SET 구문 (POINT= 옵션) SET구문은 하나 이상의 SAS 데이터 세트에서 관측치를 읽는다.

    - POINT= 옵션은 SET 구문의 SAS 데이터세트를 읽기 위하여 랜덤(직접) 접근 방식을 사용하도록 한다. 

    [SAS Statement] SAS 데이터 스텝 구문 사전 목록]

     


    7. 예 제

    예제1 : 기본 사용법

     

    SAS Statements
    -    stop;
    
    -    if idcode=9999 then stop;
    
    -    select (a); when (0) output; otherwise stop;end;

     


    예제2 : 무한 반복 피하기

    다음 예제는 랜덤 접근 방식을 사용하는 경우에 데이터 스텝안에서 무한 반복 상태를 피하기 위하여 STOP 구문을 사용하는 방법을 보여준다.

     

    SAS Statements
    data sample;
       do sampleobs=1 to totalobs by 10;
          set master.research point=sampleobs
                              nobs=totalobs;
          output;
       end;
       stop;
    run;


     


    [SAS Statement] SAS 데이터 스텝 구문 사전 목록]

     

    SAS 함수(SAS Function) 리스트 링크
    반응형

    'SAS > SAS 구문사전' 카테고리의 다른 글

    [SAS Statement] SYSECHO 구문  (0) 2022.02.07
    【SAS Statement】 Sum 구문  (0) 2022.02.07
    【SAS Statement】 SET 구문  (0) 2022.02.05
    【SAS Statement】 SELECT 구문  (0) 2022.02.05
    [SAS Statement] SASFILE 구문  (0) 2022.02.05

    댓글