BookmarkSubscribeRSS Feed

SAS Macro 활용방법

Started a week ago by
Modified a week ago by
Views 74

이전 게시글에서는 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:
a week ago
Updated by:

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

Article Tags