[2-5] Delimiting Macro Variable References
안녕하세요^^
오늘은 매크로 변수의 참조를 사용하는 방법에 대해 알아보도록 하겠습니다.
먼저 매크로 변수는 프로그램 어디에서나 사용할 수 있습니다.
특히 근접한 텍스트의 앞이나 뒤에서 모두 사용 가능하며, 매크로 변수끼리 붙어있는 경우에도 사용 가능합니다.
1. text&variable
2. &variabletext
3. text&variabletext
4. &variable&variable
======================================================================
예를들어, sashelp라이브러리에 있는 citiday라는 데이터를 이용해보도록 하겠습니다.
데이터를 년도를 기준으로 분할하여 저장하도록 하겠습니다.
------------------------------------------------------------------------------------------------------------
이 경우, 근접한 텍스트의 뒤에서 사용 가능한 매크로 변수에 대한 예제 입니다.
로그창을 보면 CITIDAY와 근접한 YEAR1 매크로 변수가 1988로 표현되는 것을 확인하실 수 있습니다.
------------------------------------------------------------------------------------------------------------
이 경우, 매크로 변수끼리 붙어있는 경우에 매크로 변수를 사용한 예입니다.
로그 창을 보시면 근접해있는 매크로 변수 NUM이 CITIDAY로, YEAR1이 1988로 정의되어 DATA는 CITIDAY1988데이터를 가져온 것을 확인하실 수 있습니다.
------------------------------------------------------------------------------------------------------------
또한, 매크로 변수를 독립적으로 사용할 수도 있습니다.
======================================================================
매크로에서 근접한 텍스트 앞에서의 매크로변수의 사용에 대해 알아보도록 하겠습니다.
------------------------------------------------------------------------------------------------------------
위와 같이 proc gchart 프로시저를 실행하는 경우를 생각해 봅시다.
매크로 변수가 뒤에 따라오는 텍스트와 구분이 되지 않을 수가 있습니다.
따라서 이러한 경우, 이름 구분자로 period(.)을 사용하게 됩니다.
예를들면,
위와 같이 매크로변수(graphics) 뒤에 .을 찍어 변수와 텍스트를 구분할 수 있습니다.
또 하나의 경우, 구분자에 해당하는 (.)과 텍스트에 해당하는 (.)이 근접하게 나올 때를 살펴보겠습니다.
예를들면, 매크로 변수로 lib, year, month를 생성하였고,
라이브러리에 있는 데이터셋 중 y&year&month를 gchart프로시저로 실행시킨다고 하면,
위와 같이 구분자와 텍스트의 구분에 있어서 (.)이 겹쳐서 사용되게 됩니다.
이 경우 &lib.y가 아니고, &lib..y&year&month로 입력하게 되면, 데이터를 올바르게 읽을 수 있습니다.
------------------------------------------------------------------------------------------------------------
앞선 예제에서 citiday1988 데이터를 ycitiday1988로 만들었다면,
이상 매크로 변수의 참조를 사용하는 방법에 대해 알아보았습니다.
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.