SAS 매크로 변수란?
간단하게 말하자면 그냥 변수다 뭐...
python에서 x=1이라고 선언하는 것과 마찬가지로, x라는 상자 안에 1이라는 값을 넣는 거랑 같은 이야기다.
SAS에서 공식적으로 매크로 변수라고 불러서 그러는지는 모르겠지만 괜히 어렵게 생각할 필요는 없다.
변수가 결국엔 변수지 뭐 대순가...
그러면 SAS 매크로 변수는 어디에 써먹을 수 있을까? 간단하게 설명하자면 코드 내에서 반복되는 부분을 어느 정도 생략을 해서 편하게 코드를 작성하거나, 유지보수를 보다 원활하게 할 수 있게 한다.
예를 들어서 위 코드 proc print, proc means, proc summary는 모두 sashelp라이브러리의 cars를 참조하고 있다.
만약에 이 대상 데이터 셋을 바꾸려고 한다면 하나하나 다 바꿔줘야 하는 귀찮은 일이 기다리고 있다...
근데 솔직히 난 귀찮다...
그나마 여긴 세줄이니깐 낫지, 만약에 이런 걸 수십 수백 줄이 된다면 생각만 해도 귀찮다...;
그럴 때 이렇게 %let 선언할 변수 이름 = 변수에 할당할 값
을 적어놓은 후에, 아래쪽 sashelp.cars 부분을 &dsn.으로 바꿔 넣으면 된다.
그리고 아래 코드에서 &기호의 의미는 뒤에 오는 문자열은 매크로 변수의 이름이라는걸 알려준다.
이러면 만약에 내가 참조할 데이터 셋을 바꾸고자 한다면 맨 위에 설정한 %let 구문만 약간의 수정을 하면 되니깐 좀 더 편하게 정리를 할 수 있다.