BookmarkSubscribeRSS Feed

[2-5] Delimiting Macro Variable References

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

 

[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

 

 

 

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

 

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

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

Article Labels
Article Tags