BookmarkSubscribeRSS Feed

SAS Macro - %LET

Started ‎09-29-2025 by
Modified ‎09-29-2025 by
Views 202

%LET 은 SAS 매크로 변수를 생성하고 값을 할당하는 Syntax입니다.

 

■ MACRO - %LET 선언

 

% LET 매크로변수 = 값;

 

%LET으로 선언하게 되면 매크로 내부 변수가 아니라 Global 변수로 선언하게 됩니다.

Global 변수란 SAS 세션 전체에서 접근 가능한 변수입니다. 세션 내 모든 매크로와 프로그램에서 공유되어 SAS 프로그램 어디에서든 참조 가능합니다.

 

 

 

■ MACRO - %LET 활용 예시 1

 

%let libname = sashelp;
%let data = air;

proc print data=&libname..&data;
run;

 

libname 매크로 변수에 'sashelp' 값을 할당하고, data 매크로 변수에는 air 값을 할당했습니다.

 

 

&libname..&data

 

위 코드에서 마침표가 두개가 있습니다.

첫번째 마침표는 매크로 변수의 끝을 의미하는 것이고, 두번째 마침표는 sas 라이브러리와 데이터셋을 구분하는 마침표입니다.

sashelp 라이브러리와 air 데이터는 Global 변수로 SAS의 모든 세션에서 사용할 수 있습니다.

 

 

■ MACRO - %LET 활용 예시 2

 

%macro test1;
	%let model = 'SUV';
	&put  Local variable model = &model;
%mend;

%put &model;

 

 

위 예시는 매크로 내부에서 %LET 매크로를 활용한 예시입니다.

이는 local 변수로 선언되어 매크로 내부에서만 활용할 수 있습니다.

 

 

 

image.png

 

 

 

■참고) %PUT

%PUT이란 메크로 안에서 메시지를 로그창에 출력하는 Syntax입니다.

주로 매크로 변수값을 확인하거나 디버깅하는 용도로 활용됩니다.

 

 

 

%MACRO test(var);
    %IF &var = %THEN %DO;
        %PUT WARNING: var 값이 비어 있습니다.;
    %END;
    %ELSE %DO;
        %PUT NOTE: var 값은 &var 입니다.;
    %END;
%MEND;

%test( );
%test(100);

 

 

 

 

 

 

 

 image.png

 

 

 

% MACRO ... %MEND 구문을 활용해서 test라는 매크로를 생성했습니다.

test 매크로는 매개변수 var을 입력해야합니다.

var이 비어있으면 &PUT 문을 활용해 로그창에 '값이 비어있습니다.' 라는 메시지를 출력합니다.

var 값이 있으면 로그창에 'var 값은 'var'입니다'라는 메시지를 출력합니다.

warning 과 note 메시지를 활용해 매개변수의 입력 여부를 체크할 수 있는 디버깅용 메크로 입니다.

 

 

Contributors
Version history
Last update:
‎09-29-2025 11:51 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 Tags