BookmarkSubscribeRSS Feed

SAS Macro 활용방법

Started ‎09-28-2025 by
Modified ‎09-28-2025 by
Views 208

이전 게시글에서는 SAS 매크로의 기본인 %MACRO 선언에 대해 살펴보았습니다.

이번 글에서는 %MACRO의 다양한 활용 방안부터, 이를 확장하여 자동화된 분석 시스템으로 발전시킬 수 있는 방법까지 알아보겠습니다.

 

 

%MACRO 선언

 

%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라는 이름으로 메크로를 정의하고 있습니다.

 

 

 

%print_cars(sashelp.cars, SUV);

 

위와 같이 매개변수로 데이터셋과 SUV (차량 모델)을 입력하게 되면 해당 데이터의 정보만 출력하게 됩니다.

매크로를 데이터셋으로 저장

 

필터링된 결과를 새 데이터셋으로 저장할 수 있습니다. 이는 추후 분석을 위한 데이터 준비에 활용할 수 있습니다.

■ 매크로 정의

 

%MACRO save_filtered_cars(dataset, car_type, output_name);
    DATA &output_name;
        SET &dataset;
        WHERE Type = "&car_type";
        KEEP Make Model Type MSRP MPG_City MPG_Highway;
    RUN;
    
    PROC PRINT DATA=&output_name;
        TITLE "저장된 데이터: &car_type";
    RUN;
%MEND;

 

 

  • saved_filtered_cars 라는 이름으로 매크로를 정의했습니다.

  • 매크로의 입력변수는 다음과 같습니다.

    • 입력데이터셋: 예를 들면, sashelp 라이브러리의 cars 데이터셋

    • 필터링할 차령 유형: 예시) SUV

    • 결과로 저장할 데이터셋 이름: output_name

  • KEEP Make Model Type MSRP MPG_City MPG_Highway : 출렉 데이터셋에 포함시킬 변수

 

 

 

■ 데이터셋 출력

 

PROC PRINT DATA=&output_name;
        TITLE "저장된 데이터: &car_type";
    RUN;

 

 

  • 결과 데이터셋을 출력해서 확인할 수 있습니다.

  • TITLE에는 필터링한 차량 유형을 표시합니다.

 

 

■ 매크로 실행

 

%save_filtered_cars(SASHELP.CARS, SUV, work.suv_cars);

 

 

  • sashelp 라이브러리에 있는 cars 데이터셋에서 suv만 필터링해 work 라이브러리에 suv_cars라는 이름으로 데이터를 저장한다음 PROC PRINT 구문으로 결과를 출력합니다.

 

image.png

 

 

Contributors
Version history
Last update:
‎09-28-2025 11:47 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 save with the early bird rate—just $795!

Register now

Article Tags