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

【SAS Statement】 REMOVE 구문

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

포스팅 목차

    o REMOVE 구문

     


    1. 목 적

       REMOVE 구문은 SAS 데이터 세트에서 관측치를 삭제한다. REMOVE 구문이 실행되면 기본적으로 수행되는 관측치의 대체 작업은 수행되지 않는다. 데이터 스텝에서 REMOVE 구문이 포함되면, 프로그램에서 지정되는 모든 데이터 세트의 출력 작업을 명시적으로 작성해야 한다.

     

    2. 문 법 (MODIFY 구문과 함께 사용)  :


    REMOVE
    <data-set-name(s)>;


     

    1) 인수 사용하지 않음

       REMOVE 구문에서 인수를 지정하지 않으면 DATA 구문에 나열된 모든 데이터 세트에서 현재 관측치를 삭제한다.

     

    2) data-set-name

       관측치를 삭제하기 위한 데이터 세트를 지정한다. 데이터세트 이름 대신에 운영시스템 환경에서 사용되는 파일의 경로명을 직접 지정할 수 있다. 경로명은 단일 인용 부호 또는 이중 인용 부호 안에 작성해야 한다.

    제한사항 : 데이터세트 이름은 DATA 구문과 MODIFY 구문에 함께 존재해야 한다.
    Tip : 데이터세트 이름 대신에 운영시스템 환경에서 사용되는 파일의 경로명을 직접 지정 있다. 경로명은 단일 인용 부호 또는 이중 인용 부호 안에 작성해야 한다.

     


    3. 범 주

    SAS 기본 구문 (실행 구문)

     

    4. 상세 설명

    데이터세트를 관리하는 엔진에 따라 관측치의 삭제 방법은 물리적 또는 논리적으로 삭제 있다. REMOVE 구문이 실행되면 기본적인 관측치의 대체 작업을 수행하지 않는다. 데이터 스텝에서 REMOVE 구문이 포함되면, 프로그램에서 지정되는 모든 데이터세트의 출력 작업을 명시적으로 작성해야 한다.

     

    5. 비교 사항

    • OUTPUT, REPLACE, REMOVE 구문이 사용되면 데이터스텝의 종료 시점에 기본적으로 적용되는 암묵적 출력 작업을 수행하지 않는다. (일반적으로 OUTPUT 구문이 기본 작업이지만, MODIFY 구문이 사용 될 때에는 REPLACE 구문이 기본작업이 된다.) 데이터 스텝에서 위의 구문 중에서 하나가 사용되면, 데이터 세트에 추가되는 새로운 관측치에 대한 출력 내용을 명시적인 프로그램으로 작성해야 한다.
    • OUTPUT, REPLACE, REMOVE 구문은 서로 독립적으로 작업을 수행한다. 적용 순서가 논리적이면 다수의 구문이 동일 관측치에 적용 될 수 있다.
    • OUTPUT 구문과 REPLACE 또는 REMOVE 구문이 해당 관측치에 함께 적용되면, 관측치의 포인터의 위치를 정확하게 유지하기 위하여 OUTPUT 작업을 마지막으로 실행하라.
    • REMOVE 구문은 물리적 또는 논리적 삭제 작업을 수행 할 수 있기 때문에, 모든 SAS 데이터세트 엔진에서 MODIFY 구문과 함께 사용된다. 반면에 DELETE와 분할 IF 구문은 모두 물리적 삭제 작업을 수행하기 때문에 일부 엔진에서 MODIFY 구문과 함께 사용 할 수 없다.

     


    6. 관련 구문

    구문명 구문내용
    DELETE 구문 현재 실행 중인 관측치에 대한 처리를 중지하여, 출력 데이터에서 관측치를 삭제하여 출력하지 않도록 한다.
    부분 분할 IF 구문 지정된 표현식의 조건을 만족하는 관측치에 대하여 프로그램 처리를 계속 수행한다.
    MERGE 구문 MERGE 구문은 다수의 SAS 데이터 세트의 관측치를 하나의 관측치로 결합하여 새로운 SAS 데이터 세트를 생성한다.
    MODIFY 구문 MODIFY 구문은 새로운 SAS 데이터 세트를 추가로 생성하지 않고 기존에 존재하는 SAS 데이터 세트의 관측치에 대하여 대체, 삭제, 추가 작업을 수행한다.
    OUTPUT 구문 SAS 데이터 세트에 현재 처리 중인 관측치를 작성한다. OUTPUT 구문은 데이터 스텝의 종료 시점에 작성되지 않고, OUTPUT 구문이 실행되는 즉시 데이터 세트에 현재 관측치를 작성한다. 
    REMOVE 구문 SAS 데이터 세트에서 관측치를 삭제한다.
    REPLACE 구문 추가로 새로운 SAS 데이터 세트를 생성하지 않고 기존에 존재하는 SAS 데이터 세트에 존재하는 관측치를 대체(갱신)한다. 
    UPDATE 구문 Master 파일의 데이터 항목을 변경 및 삽입하기 위하여 Master 파일을 기준으로 Transactions 파일의 데이터 값으로 갱신(Update) 또는 삽입(Insert) 작업을 수행한다.

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

     


    7. 예 제

    예제 : 데이터세트에서 관측치 제거하기

    다음 예제는 SAS데이터세트에서 단일 관측치를 삭제한다.

     

    SAS Statements
    libname perm 'SAS-library';
     
    data perm.accounts;
       input AcctNumber Credit;
       datalines;
    1001 1500
    1002 4900
    1003 3000
    ;
     
    data perm.accounts;
       modify perm.accounts;
       if AcctNumber=1002 then remove;
    run;
     
    proc print data=perm.accounts;
       title 'Edited Data Set';
    run;

     

    [PROC PRINT 결과물 : PERM.ACCOUNTS 데이터 세트]

    Results
    Edited Data Set                        1
     
                                Acct
                        OBS    Number    Credit
                         1      1001      1500
                         3      1003      3000

     


     


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

     

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

    댓글