BookmarkSubscribeRSS Feed

[2-5] Delimiting Macro Variable References

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

 

[2-5] Delimiting Macro Variable References

 안녕하세요^^

오늘은 매크로 변수의 참조를 사용하는 방법에 대해 알아보도록 하겠습니다.

​​

​먼저 매크로 변수는 프로그램 어디에서나 사용할 수 있습니다.

​특히 근접한 텍스트의 앞이나 뒤에서 모두 사용 가능하며, 매크로 변수끼리 붙어있는 경우에도 사용 가능합니다.

​1. text&variable

2. &variabletext

3. text&variabletext

4. &variable&variable

 

 

======================================================================

 

예를들어, sashelp라이브러리에 있는 citiday라는 데이터를 이용해보도록 하겠습니다.

데이터를 년도를 기준으로 분할하여 저장하도록 하겠습니다.

 

 

SE22016071923423670.jpg

 

------------------------------------------------------------------------------------------------------------

 

SE22016071923424670.jpg

 

SE22016071923425770.jpg

 

 

SE22016071923431170.jpg

 

이 경우, 근접한 텍스트의 뒤에서 사용 가능한 매크로 변수에 대한 예제 입니다.

로그창을 보면 CITIDAY와 근접한 YEAR1 매크로 변수가 1988로 표현되는 것을 확인하실 수 있습니다.

 

------------------------------------------------------------------------------------------------------------

 

SE22016071923435370.jpg

 

SE22016071923440070.jpg

 

 

SE22016071923441070.jpg

 

이 경우, 매크로 변수끼리 붙어있는 경우에 매크로 변수를 사용한 예입니다.

​로그 창을 보시면 근접해있는 매크로 변수 NUM이 CITIDAY로, YEAR1이 1988로 정의되어 DATA는 CITIDAY1988데이터를 가져온 것을 확인하실 수 있습니다.

 

 

------------------------------------------------------------------------------------------------------------

 

SE22016071923445370.jpg

 

SE22016071923450170.jpg

 


SE22016071923451170.jpg

 

또한매크로 변수를 독립적으로 사용할 수도 있습니다.

 

 

======================================================================

 

 

매크로에서 근접한 텍스트 앞에서의 매크로변수의 사용에 대해 알아보도록 하겠습니다.

------------------------------------------------------------------------------------------------------------

 

SE22016071923462870.jpg

 

위와 같이 proc gchart 프로시저를 실행하는 경우를 생각해 봅시다.

매크로 변수가 뒤에 따라오는 텍스트와 구분이 되지 않을 수가 있습니다.

​​

따라서 이러한 경우, 이름 구분자로 period(.)을 사용하게 됩니다.

예를들면,​

 

SE22016071923470170.jpg

SE22016071923473370.jpg

 

위와 같이 매크로변수(graphics) 뒤에 .을 찍어 변수와 텍스트를 구분할 수 있습니다. 

 

 

SE22016071923470970.jpg

 

또 하나의 경우, 구분자에 해당하는 (.)과 텍스트에 해당하는 (.)이 근접하게 나올 때를 살펴보겠습니다.

​예를들면, 매크로 변수로 lib, year, month를 생성하였고,

​라이브러리에 있는 데이터셋 중 y&year&month를 gchart프로시저로 실행시킨다고 하면,

 

 

SE22016071923482070.jpg

 

위와 같이 구분자와 텍스트의 구분에 있어서 (.)이 겹쳐서 사용되게 됩니다.

​이 경우 &lib.y가 아니고, &lib..y&year&month로 입력하게 되면, 데이터를 올바르게 읽을 수 있습니다.

 

------------------------------------------------------------------------------------------------------------

 

앞선 예제에서 citiday1988 데이터를 ycitiday1988로 만들었다면,

 

SE22016071923485070.jpg

 

SE22016071923490270.jpg

 

 

SE22016071923491770.jpg

 

 

 

이상 매크로 변수의 참조를 사용하는 방법에 대해 알아보았습니다.

 

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