Biostat/SAS Macro

SAS Macro 매크로 변수 앞에 특정문자 삽입하기

카이집사

매크로 변수가 연속해서 같이 사용될 경우는 매크로변수 앞에 & 기호를 사용해야 하기 때문에 &기호에 의해서 구분된다. 하지만, 매크로 변수와 문자열(또는 매크로변수) 이 연속해서 나열된 경우는 구분을 하기 위해서 일종의 구분자가 필요한데, 그 역할을 하는 것이 마침표(.) 이다. 

 

[Example] data step 에서 일련의 번호를 이용하여 monthx1, monthx2,  monthx3 을 생성시키는 매크로  

%macro create(howoften, howmany);

   %do i=1 %to &howmany;
      data &howoften.x&i;
         set in&i;
         input product cost date;
      run;
   %end;

%mend create;

%create1(month,3)

 

매크로 변수와 문자열 사이에 마침표같은 구분자가 없다면 오류가 발생한다. 위 예에서 &howoftenx&i 로만 프로그래밍이 되었다면, 로그 창에는 &howoftenx 라는 매크로 변수가 참조되지 않닸다는 에러 메시지를 내보내게 된다.