본문 바로가기
SAS/SAS 함수

【SAS 함수】 73. CALL SYMPUT 함수

by 기서무나구물 2018. 11. 26.

포스팅 목차

    73. CALL SYMPUT

     


    데이터 스텝 정보를 매크로 변수에 할당한다.

     

    Category: Macro

     

    MAIN

    CALL SYMPUT
     (argument-1,argument-2);

     

    Arguments

    ARGUMENT-1

     

         는 MACRO변수 지정 

     


    관련 함수

     

    함수명 함수내용
    CALL EXECUTE 데이터 스텝안에서 매크로 인수를 분석하고,매크로를 실행을 위하여 분석된 값을 발행(실행)한다.
    CALL SYMPUT 데이터 스텝 정보를 매크로 변수에 할당한다.
    CALL SYMPUTX RAND 함수에 의해 생성되는 random number generation에 이용되는 seed 값을 지정한다.
    RESOLVE 매크로 기능(facility)으로 할당되었던 한 개 이상의 값을 데이터 스텝의 값으로 반환한다.
    SYMEXIST macro 변수의 존재 유무를 확인 후 반환한다.
    SYMGET 데이터 스텝을 실행하는 동안에 macro변수의 값을 반환한다.
    SYMGLOBL 데이터 스텝 실행동안 global scope(전역범위)안에 macro변수의 존재성 여부 반환한다.
    SYMLOCAL 데이터 스텝 실행동안 local scope(지역범위)안에 macro변수의 존재성 여부 반환한다. 즉, 지역 변수의 존재성 여부를 반환한다.

     


    예 제

     

    예 제 1 :

    call symput 함수를 이용하여서 position 변수의 값을 macro변수(pos1, pos2, pos3)에 할당한다. 

    SAS Statements
    data team2;
         input position : $12. player $12.;
         call symput('POS'||left(_n_), position);
    cards;
    shortstp Ann
    pitcher Tom
    frstbase Bill
    ;
    %put &pos1;%put &pos2;%put &pos3;

     

    Results
    shortstp
    pitcher
    frstbase

     


    예 제 2 :

    var 변수값을 macro변수(char1, char2)값에 할당시 trim 함수를 이용하여서 공백을 제거한다. 

    SAS Statements
    data char1;
         input var $;
         call symput('char1',var);
         call symput('char2',trim(var));
    cards;
    x
    ;
    run;
    
    %put char1 = ***&char1***;
    %put char2 = ***&char2***;

     

    Results
    char1 = ***x ***
    char2 = ***x***

     


    SAS 함수(SAS Function) 리스트 링크

     

    엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크

     

    SAS 데이터 스텝 구문 리스트(SAS Data Step Statement)
    반응형

    댓글