SAS Macro

SAS Macro 자동 매크로 변수

카이집사_Stats 2025. 5. 25. 20:49

자동 매크로 변수란 SAS 에 내장되어 있는 매크로 변수를 의미한다.  여러 자동매크로 변수가 있겠지만, 개인적으로 주로 사용하는 매크로 변수는 다음과 같다. 

 

&SYSDSN    가장 최근에 생성된 데이터 세트 이름

&SYSINDEX   현재 작업에서 수행된 매크로 개수

&SYSTIME   프로그램이 실행시작한 시간

&SYSDATE   프로그램이 실행한 날짜 

 

예를들어,

 

FOOTNOTE “Report for &SYSDAY, &SYSDATE “; 

 

이란 명령어를 치게 된다면, 결과물의 바닥글에 보고서 생성 날짜와 요일이 같이 찍혀 출력된다. 

 

개인적으로 주로 사용하는 경우는 많은 프로시저를 수행 시킨 후, 최종 결과물을 표 형태로 출력되게끔 프로그래밍을 진행한 후, excel 에 export 하여 프로그램을 실행시킨 날짜를 파일이름으로 찍는 작업을 한다.  해당 예제는 아래와 같다. 

proc export data = pred1 outfile = "D:\doc\rst_&sysdate."
 DBMS= XLSX replace; 
 sheet = "pred1";
run;

proc export data = case outfile = "D:\doc\rst_&sysdate."
 DBMS= XLSX replace; 
 sheet = "case";
run;

결과물 파일을 pred1 이라는 data set 에 저장하여 excel 로 export 를 시키는데, 그때의 엑셀 파일 이름은 "rst_오늘날짜"가 되는 것이고, 엑셀 파일 내의 시트명을 "pred1" 으로 지정하여 해당 파일을 나타낸다. 

 

추가적으로 "case" SAS data file 을 동일한 엑셀 파일에 저장하되 시트명을 구분하여 다르게 지정하게 되면, 한 엑셀 파일에 모든 분석의 결과들이 서로 다른 시트명을 가지고 있기 때문에 가령 동일한 data set 이 주기적으로 update 되어 주기적인 결과물을 내보내야 하는 경우 위 기능을 사용하게 되면 일자로 version 관리가 되어 비교 시 나름 효율적으로 사용할 수 있다.  

 

모든 사용가능한 자동 매크로를 보고 싶다면, 프로그램 창에 

 

%PUT _AUTOMATIC_; 

 

을 실행시켜 로그창을 확인해보면 가능하다.