%SCAN은 문자열과 관련된 함수로 원하는 부분을 추출해서 변수의 텍스트 값을 처리할 때 사용합니다.
공백이나 구분자로 구분된 문자열 중에서 n번째 단어를 선택하거나 추출할 때 사용됩니다.
기본 Syntax는 다음과 같습니다.
%SCAN(문자열, 위치, 구분자)
문자열: 단어를 추출할 문자열
위치: 가져올 단어의 순서
구분자: 옵션으로 단어를 구분하는 문자열
■ 예시 1) 공백을 기준으로 문자열을 구분하고 단어를 추출
%LET str = Amber Ciara Delilah;
%PUT %SCAN(&str, 1);
%PUT %SCAN(&str, 2);
%PUT %SCAN(&str, 3);
■ 예시 2) 공백을 기준으로 문자열을 구분하고 단어를 추출
%LET name = Amber,Ciara,Delilah;
%PUT %SCAN(%SUPERQ(name), 2, %STR(,));
%LET name = Amber,Ciara,Delilah;
매크로 변수 이름을 name 이라고 설정합니다. 값은 쉼표(,) 로 설정되어 있습니다.
%SUPERQ(name)
매크로 변수 값을 그대로 반환하는 함수입니다. 특수문자, 공백, 따옴표 등 문자 이외의 값이 포함되어 있어도 매크로 함수로 인식하지 않고 문자 그대로 출력합니다.
즉, name 변수에 입력된 값 Amber,Ciara,Delilah 그대로 출력합니다.
%SCAN(%SUPERQ(name), 2, %STR(,))
scan 함수가 원본 문자열 Amber,Ciara,Delilah 중 2번째 단어를 추출하고, 구분자를 쉼표로 지정합니다.
%PUT
매크로 결과값을 로그 창에 출력합니다.
■ 예시 3) 문자열 일부 추출
%MACRO parse_date(datestr);
%LET year = %SUBSTR(&datestr, 1, 4);
%LET month = %SUBSTR(&datestr, 5, 2);
%LET day = %SUBSTR(&datestr, 7, 2);
%PUT 연도: &year;
%PUT 월: &month;
%PUT 일: &day;
%LET formatted_date = &year-&month-&day;
%PUT 포맷된 날짜: &formatted_date;
%MEND;
%parse_date(20251231);
%MACRO parse_date(datestr);
parse_data 이름으로 매크로를 생성합니다. datestr은 매크로가 실행될 때 입력될 매개변수입니다.
%LET year = %SUBSTR(&datestr, 1, 4);
&datestr로 받은 매개변수에서 1번째부터 4번째 글자를 추출하여 &year 이라는 매크로 변수로 저장합니다.
%LET month = %SUBSTR(&datestr, 5, 2);
&datestr로 받은 매개변수에서 5번째부터 2글자를 추출하여 &month 라는 변수에 저장합니다.
%LET day = %SUBSTR(&datestr, 7, 2);
&datestr로 받은 매개변수에서 7번째부터 2글자를 추출하여 &day라는 변수에 저장합니다.
%PUT
로그창에 &year, &month, &day 값을 출력합니다.
%parse_date(20251231);
par_date 매크로를 실행하여 20251231 이라는 문자열 값을 출력합니다.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
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 lock in 2025 pricing—just $495!