BookmarkSubscribeRSS Feed

SAS Macro - %MACRO

Started ‎09-25-2025 by
Modified ‎09-25-2025 by
Views 166

MACRO란 여러 개의 명령어 및 매개변수를 입력하게 되면 동적으로 코드를 생성해서 반복적인 작업을 자동화하고 코드를 재활용할 수 있는 코드 템플릿입니다.

아래와 같은 장점이 있습니다.

  • 코드 중복 제거

  • 유지보수 편의

  • 표준화된 분석 프로세스

  • 동적 프로그램 설계 가능

%MACRO

 

SAS 매크로의 가장 기본이 되는 구문으로 다음과 같이 정의(&MACRO) - 종료(&MEND) - 호출로 구성됩니다.

  • STEP1. % MACRO

    매크로 정의하는 Syntax로 매크로 이름과 매개변수를 설정합니다.

  • STEP2. %MEND

           매크로 정의를 종료합니다.

  • STEP3. 호출

■ 활용예제

 

%MACRO print_cars(dataset, car_type);
  PROC PRINT DATA=&dataset;
    VAR Make Model;
    WHERE Type = "&car_type";
    TITLE "차량 유형: &car_type";
  RUN;
%MEND;

 

 

위의 코드는 매크로를 정의 , 매크로 정의 종료 예제입니다.

  • %MACRO print_cars(dataset, car_type);

    • 매크로를 정의하는 구문으로 매크로의 이름은 print_cars 입니다.

    • 데이터 셋(dataset)과 차 유형(car_type)을 매개변수로 받습니다.

  • PROC PRINT
    • 데이터를 그대로 출력하는 프로시저
    • VAR make model : 출력할 변수를 지정해서 make(제조사)와 model(모델명)만 출력할 수 있게합니다.
    • WHERE Type = "&car_type";: 조건문으로 Type 변수가 car_type 과 같은 행만 출력할 수 있게 합니다. '&car_type'은 일반변수가 아니라 매크로 변수라는 것을 SAS가 인식할 수 있게 코드로 설정한 것 입니다.

  • %MEND

    • %MACRO 로 정의한 구문의 종료를 선언하는 명령문입니다.

MACRO 호출

 

%print_cars(SASHELP.CARS, SUV);

 

  • 선언한 MACRO 구문을 호출합니다.

  • [확장] 호출한 MACRO로 반복문을 활용해 데이터를 일괄 처리하거나 데이터 셋으로 저장할 수도 있으며 추가적인 통계 분석을 추가적으로 수행할 수 있습니다.

 

Contributors
Version history
Last update:
‎09-25-2025 01:40 AM
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