BookmarkSubscribeRSS Feed

[SAS] Macro

Started Thursday by
Modified Thursday by
Views 68

SAS에서 데이터를 활용하기 위해서는 2가지 방법으로 나뉠 수 있습니다.

Data step 에서 데이터 셋의 컬럼 변수로 설정할 수도 있고,

Macro 를 통해서 메모리 안에서 텍스트 값으로 저장할 수 있습니다.

■ Data Variable 선언

데이터 변수는 Data ~ Run 문 안에 선언되어 있습니다.

 

data test1;
 a = 1 ;
run;

image.png

 

 

■ Macro 변수 선언

%let 으로 매크로를 정의하고,&이름으로 참조를하면 코드를 동적으로 생성할 수 있습니다.

 

%let a = 1;
%put &a;

 

 

 

 image.png

 

 

 

 

 

■ Macro 활용 예제

 
data class_data;
    input name $ gender $ age course major $;
    datalines;
Janny M 58 101 STAT
Amy F 28 101 HIST
Liz F 27 301 STAT
Jhon M 68 301 ENGG
Peter M 54 201 STAT
James M 35 101 HIST
Thomas M 34 301 ENGG
Pat F 23 201 STAT
Liz F 45 101 HIST
Tom M 56 301 ENGG
;
run;
%let dsname = class_data;
%let age = 21;

proc print data=&dsname;
  where age >= &age;
  var name gender age major;
run;

%put 데이터셋: &dsname;
%put 나이 기준: &age;
 
  • %let: Macro 변수를 생성합니다.

  • dsname 에는 데이터셋, age에는 나이값을 메모리에 텍스트 값으로 저장합니다.

  • &dsname: class_data로 실행되고, &age는 21로 설정됩니다.

 

image.png

 

 

Macro의 장점으로 데이터셋이 바뀌어도 %let dsname, age에 대한 기준이 바뀌어도 %let age를 바꿔주면 됩니다.

즉, Macro 변수는 값을 코드에서 분리해서 디버깅을 할 때 유용하거나 데이터가 바뀌어도 SAS의 다른 세션에서도 사용할 수 있습니다.

Contributors
Version history
Last update:
Thursday
Updated by:

Catch up on SAS Innovate 2026

Dive into keynotes, announcements and breakthroughs on demand.

Explore Now →
Article Tags