본문 바로가기
SAS/SAS 함수

【SAS 함수】 38. CALL EXECUTE 함수

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

포스팅 목차

    38. CALL EXECUTE

     


    데이터 스텝안에서 매크로 인수를 분석하고, 매크로를 실행을 위하여 분석된 값을 발행(실행)한다.

    Category: Macro

    MAIN

    문 법


    CALL EXECUTE 
    (argument);

     

    Arguments

    argument

     

         는 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 :

    인수를 분석하여서 date 변수에서 각각의 날짜를 받아서 Proc chart를 실행하기 위하여 매크로 %rept(10nov97,var1,reptdata), %rept(11nov97,var1,reptdata), %rept(12nov97,var1,reptdata) 3개의 macro를 실행시킨다.

    결과창에서 3개의 챠트를 확인바랍니다. 

    SAS Statements
    data dates;
       input date $;
    cards;
    10nov97
    11nov97
    12nov97
    ;
    
    data reptdata;
       input date $ var1 var2;
    cards;
    10nov97 25 10
    10nov97 50 11
    11nov97 23 10
    11nov97 30 29
    12nov97 33 44
    12nov97 75 86
    ;
    
    %macro rept(dat,a,dsn);
       proc chart data=&dsn;
           title "Chart for &dat";
           where(date="&dat");
           vbar &a;
       run;
    %mend rept;
    
    data _null_;
       set dates;
       call execute('%rept('||date||','||'var1,reptdata)');
    run;

     


    예 제 2 :

    One 데이터 세트 안에서 call execute 함수를 사용하여서 one데이터의 값을 받아 add 에서 "ad=a+b"을 받아온 후, a+b를 계산하여서 ad변수를 생성하고 결과를 프린트 한다.

    SAS Statements
    data one;
          a = 1;
          b = 2;
          add = "ab=a+b;";
          call execute("data one;");
          call execute("set one;");
          call execute(add);
          call execute("proc print; run;");
    run;

     

    Results
     OBS  a  b   add     ab
      1    1   2  ab=

     


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

     

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

     

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

    'SAS > SAS 함수' 카테고리의 다른 글

    [SAS 함수] 40. CALL LOGISTIC 함수  (0) 2018.11.19
    [SAS 함수] 39. CALL LABEL 함수  (0) 2018.11.19
    【SAS 함수】 CALL COMPCOST 함수  (0) 2018.11.19
    【SAS 함수】 CALL CATX 함수  (0) 2018.11.18
    【SAS 함수】 CALL CATT 함수  (0) 2018.11.18

    댓글