SAS 매크로 중에서 %DO 는 매크로 반복문 중 하나입니다.
이번 게시글은 %DO 매크로를 활용 방법에 대해서 알아보겠습니다.
%do 변수 = 시작값 %to 종료값;
/* 반복할 코드 */
%end;
위의 코드는 %DO의 기본 Syntax입니다.
변수를 설정하고 시작값 ~ 종료값이라는 반복 범위를 설정합니다.
변수는 시작값에서 종료값까지 1씩 증가하며 각 값마다 반복할 코드를 수행합니다.
종료값까지 실행되면 반복 종료됩니다.
%macro loop_ex;
%do i = 1 %to 5;
%put No: &i;
%end;
%mend;
%loop_ex;
loop_ex라는 이름으로 매크로를 정의했습니다.
매개변수가 없으며 변수 i를 1부터 5까지 반복하는 루프입니다.
SAS의 Do 루프와 비슷한 형태이지만 매크로로 사용하므로써, Global 하게 사용할 수 있다라는 장점이 있습니다.
%do 인덱스변수 = 시작값 %to 종료값 %by 증가값;
/* 반복할 코드 */
%end;
%by 증가값 Option 으로 각 반복마다 증가하는 값을 선택할 수 있습니다.
생략하면 기본값은 1로 음수를 설정하면 감소 루프로도 활용할 수 있습니다.
%macro loop_ex;
%do i = 50 %to 30 %by -2;
%put No: &i;
%end;
%mend;
%loop_ex;
매크로 변수 i를 50부터 시작해 30까지 -2씩 감소하는 매크로 입니다.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.