BookmarkSubscribeRSS Feed

SAS Macro - %EVAL

Started ‎10-28-2025 by
Modified ‎10-28-2025 by
Views 111

 

%EVAL

 

SAS 매크로 중에서 %EVAL 은 정수의 사칙 연산비교 연산( >, <, ≤, ≥, ≡, ≠) 하는데 사용하는 매크로입니다.

소수점 계산은 불가능하며 결과값은 텍스트로 출력됩니다.

 

 

 

■ 사칙연산 예시

 

%LET x = 3;
%LET y = 5;

%LET sum = %EVAL(&x + &y);
%PUT 합계는 &sum 입니다.;

 

 

%LET문을 활용해서 값을 할당했습니다.

X = 3, Y = 5로 값을 할당했습니다.

 

&기호는 매크로 변수를 참조하는 기호로 맨크로 변수값을 사용할 때는 & 기호를 붙여 사용합니다.

%EVAL 문으로 사칙연산을 실행합니다. 정수 연산만 가능하고 소수점 연산일 경우에는 %SYSEVALF를 사용합니다.

%PUT 문으로 SAS 로그에 메시지를 출력할 수 있습니다.

 

 

 

image.png

 

 

 

■ 참조) %SYSEVALF(소수점 연산)

 

%LET x = 3.5;
%LET y = 5.2;

%LET sum = %SYSEVALF(&x + &y);
%PUT 합계는 &sum 입니다.;

image.png

 

 

 

%LET x = 3.5;
%LET y = 5.2;

%LET sum = %EVAL(&x + &y);
%PUT 합계는 &sum 입니다.;

 

EVAL 문으로는 소수점 연산이 불가능합니다.

  

image.png

 

 

 

 

 

■ 비교 연산 예시

비교연산의 경우 매크로 조건문 내에서 논리적인 조건을 평가할 때 사용하므로, %IF-%THEN-%DO와 같은 매크로 조건문과 함께 사용됩니다.

두 매크로 변수 (&score, &points)값을 비교하는 예제입니다.

&score 값은 90, &points 값은 85로 저장되었습니다.

%IF-%THEN-%DO 매크로 조건문과 비교 연산 매크로 %EVAL을 사용해서 score 변수와 points 변수 값을 비교하였습니다.

 

 

%LET score = 90;
%LET points = 85;
%IF %EVAL(&score = &points) %THEN %DO;
    %PUT 동일합니다.;
%END;
%ELSE %DO;
    %PUT 상이합니다.;
%END;

 

 

image.png

 

 

Contributors
Version history
Last update:
‎10-28-2025 09:33 PM
Updated by:

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

Article Labels
Article Tags