[2-6] Macro Functions
안녕하세요^^
오늘은 매크로 함수에 대해 알아보도록 하겠습니다.
매크로 함수는 data step의 문자열에 대한 함수와 비슷한 syntax를 갖고 있으며, 비슷한 결과를 만들어 냅니다.
매크로 함수에는 여러 종류가 있습니다.
(1) %UPCASE
%UPCASE는 소문자를 대문자로 바꾸는 함수를 말합니다.
(2) %SUBSTR
%SUBSTR은 문자에서 특정 문자를 추출하는 함수를 말합니다.
%SUBSTR(argument, position <,n>)
- %substr 함수는 시작 위치로부터 n개의 문자까지 문자열의 부분을 반환합니다.
- N이 정의되어있지 않으면 시작 위치로부터 문자열의 끝까지를 반환합니다.
&Sysdate9로 system의 날짜를 저장합니다.
%substr함수를 통해서 &sysdate9의 6번째 시작위치로부터 끝까지의 문자열을 반환합니다.
즉, 년도에 해당하는 2014를 반환합니다.
(3) %SCAN
%SCAN은 문자에서 단어를 추출하는 것을 말합니다.
%SCAN(argument, n <,delimiters>)
- %scan 함수는 delimiters에 의해 구분된 n번째 문자를 반환합니다
- n개의 단어의 조합이 아니라면 null이 반환됩니다.
&syslast로 바로 이전에 실행시켰던 data set 이름을 보여줍니다.
%scan함수를 통해서 &syslast의 period(.)를 기준으로 두 번째 문자를 반환합니다.
즉, dsn은 HEART를 반환합니다.
(4) %INDEX
%INDEX는 특정한 텍스트에서 문자열의 위치를 찾는 함수를 말합니다.
(5) %EVAL
%EVAL(expression)
- %eval함수는 수리나 논리적 연산을 수행합니다.
X에 2+2라는 연산을 수행합니다.
결과적으로 x는 연산의 수행 결과인 4의 값을 얻게 됩니다.
Thisyr이라는 매크로 변수로 &sysdate9의 년도를 추출합니다.
또한, lastyr이라는 매크로 변수로 &thisyr 변수의 년도에서 22를 뺀 값을 저장합니다.
Proc means 프로시저를 통해서
thisyr과 lastyr의 사이에 있는 년도의 DSIUSWIL이라는 변수의 min, max, mean값을 반환하는 결과를 냅니다.
이상 매크로 함수에 대해 알아보았습니다.
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!