Biostat/SAS Macro

SAS Macro 매크로 함수 %EVAL

카이집사

%EVAL 는 수식으로 표현된 매크로 변수를 연산값으로 바꾸어 주는 함수로, 다음과 같이 간략한 사례로 이해가 가능하다. 

 

%LET x = 100;                                                       (1)
%LET y = &x + 200; %PUT &y;                             (2)
%LET z = %EVAL(&x+200); %PUT &z;                 (3)
%LET z = %EVAL(2+3=5); %PUT &z;                   (4)

 

위 명령문들을 실행시키게 되면 로그 창에서 결과들을 확인할 수 있는데, 

(1) x 변수에는 100 이 저장되고 

(2) y 변수는 문자열 그대로 100+200  이  출력된다. 

(3) %EVAL 을 사용하게 되면 결과값을 보여주는데, z 변수가 참조하는 값은 300이 되고 

(4) %EVAL 안에서 처럼 전체 수식이 포함이 된다면 논리값으로 참일 때에는 1을 거짓일 때는 0을 출력해준다.