BookmarkSubscribeRSS Feed

[2-6] Macro Functions

Started ‎06-16-2020 by
Modified ‎06-16-2020 by
Views 582

[2-6] Macro Functions

 

안녕하세요^^

​오늘은 매크로 함수에 대해 알아보도록 하겠습니다.

매크로 함수는 data step의 문자열에 대한 함수와 비슷한 syntax를 갖고 있으며, 비슷한 결과를 만들어 냅니다.

​​

매크로 함수에는 여러 종류가 있습니다.

 

 

 

(1) %UPCASE

​%UPCASE는 소문자를 대문자로 바꾸는 함수를 말합니다.

 

 

(2) %SUBSTR

%SUBSTR은 문자에서 특정 문자를 추출하는 함수를 말합니다.

%SUBSTR(argument, position <,n>)

​- %substr 함수는 시작 위치로부터 n개의 문자까지 문자열의 부분을 반환합니다.

​- N이 정의되어있지 않으면 시작 위치로부터 문자열의 끝까지를 반환합니다.

 

SE22016071923545170.jpg

 SE22016071923550070.jpg

 

&Sysdate9로 system의 날짜를 저장합니다.

 

SE22016071923552070.jpg

SE22016071923552870.jpg

 

%substr함수를 통해서 &sysdate9 6번째 시작위치로부터 끝까지의 문자열을 반환합니다.

즉, 년도에 해당하는 2014를 반환합니다.

 

 

 

(3) %SCAN

%SCAN은 문자에서 단어를 추출하는 것을 말합니다.

%SCAN(argument, n <,delimiters>)

- %scan 함수는 delimiters에 의해 구분된 n번째 문자를 반환합니다

- ​n개의 단어의 조합이 아니라면 null이 반환됩니다.

 

 

SE22016071923571770.jpg

SE22016071923572470.jpg

 

&syslast로 바로 이전에 실행시켰던 data set 이름을 보여줍니다.

 

 

SE22016071923574170.jpg

SE22016071923574770.jpg

 

%scan함수를 통해서 &syslast의 period(.)를 기준으로 두 번째 문자를 반환합니다.

​즉, dsn은 HEART를 반환합니다.

 

 

 

(4) %INDEX

%INDEX는 특정한 텍스트에서 문자열의 위치를 찾는 함수를 말합니다.

 

 

 

(5) %EVAL

%EVAL(expression)

​- %eval함수는 수리나 논리적 연산을 수행합니다.

 

 

 

SE22016071923592670.jpg 

X에 2+2라는 연산을 수행합니다.

 

 

SE22016071923594170.jpg

결과적으로 x는 연산의 수행 결과인 4의 값을 얻게 됩니다.

 

  

SE22016071923595770.jpg

 

Thisyr이라는 매크로 변수로 &sysdate9의 년도를 추출합니다.

​또한, lastyr이라는 매크로 변수로 &thisyr 변수의 년도에서 22를 뺀 값을 저장합니다.

 

 

SE22016072000003670.jpg

 

Proc means 프로시저를 통해서

thisyr과 lastyr의 사이에 있는 년도의 DSIUSWIL이라는 변수의 min, max, mean값을 반환하는 결과를 냅니다. 

 

 

 

이상 매크로 함수에 대해 알아보았습니다.

Contributors
Version history
Last update:
‎06-16-2020 06:06 AM
Updated by:

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

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!

Register now

Article Labels
Article Tags