BookmarkSubscribeRSS Feed

[1-1] Macro - Introduction

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

[1-1] Macro - Introduction

 

 

 

안녕하세요^^

 

이번 시간부터는 매크로(MACRO)에 대해 알아볼 것 입니다.

 

 

첫 시간에는, 매크로 기능의 목적에 대해 알아보겠습니다.

학습목표인 매크로 기능의 목적을 공부한 뒤에, 매크로를 적용한 예들을 살펴보겠습니다.

 

 

매크로 기능은 무엇이고 우리에게 어떤 도움을 줄까요? 

 

 

 ■  매크로 기능이란

 

- 매크로 기능은 SAS 코드를 자동화하고 사용자 지정이 가능한 텍스트 처리 기능입니다.

- 일반적인 작업을 수행하기 위해 입력하는 SAS 코드의 양을 최소화하는 데 도움이 됩니다.

- SAS 프로그램 내에서 어디서든 매크로 변수를 만들 수 있고

  사용자 정의 SAS 코드를 생성하는 매크로 프로그램을 작성하고 호출할 수 있습니다.

 

 

 

그럼 앞으로 배우게 될 매크로를 사용한 예들을 살펴보겠습니다. 

 

 

  ■  매크로 기능 예시

 

[예시 1] 시스템 값 대입하기

SE22016061920405870.jpg

 

자동 매크로 변수는 시스템 값을 저장하고 있습니다.

따라서 자동 매크로 변수를 이용하면 hardcoding을 피할 수 있는 장점이 있습니다.

 

 

 

[예시 2] 사용자 정의 값 대입하기

SE22016061920390870.jpg

 

왼쪽 코드에서와 같이 프로그램 전반에 걸쳐 

반복적으로 동일한 값을 참조할 필요가 있는 경우,

사용자 정의 매크로 변수는 한 번 값을 정의하고

프로그램 내에서 반복적으로 그 값을 대체 할 수 있습니다.

 

 

 

[예시 3] 조건부 처리하기

SE22016061920392270.jpg

 

'매일' 자세한 보고서를 생성할 수 있습니다.

또한 ’ 단위로 데이터를 요약하고 더불어

매주 금요일에는 추가 보고서를 생성할 수 있습니다.

 

매크로 프로그램은 사용자가 정의한 조건에 기초하여

SAS 프로그램의 선택된 부분을 실행할 수 있습니다

 

 

 

[예시 4] 반복 처리하기

SE22016061920393370.jpg

 

2008년부터 2010년까지 매년 유사한 보고서를 생성하는 경우,

매크로 프로그램은 각 반복에 다른 값을 대체하여 

반복적으로 SAS 코드를 생성 할 수 있습니다. 

 

 

 

[예시 4] 데이터 기반 응용프로그램 적용하기

SE22016061920395470.jpg

 

선택한 변수의 각 고유 값에 대해 부분 집합 데이터셋을 만드는 경우,

매크로 프로그램은 데이터를 기반한 코드를 생성 할 수 있습니다. 

 

 

 

위 예시들의 경우 매크로를 사용하면 편리해 질 수 있습니다.

그렇다면 나아가 매크로를 사용한 프로그램의 효율적인 면은 어떻게 될까요?

 

 

 

  ■  매크로 기반 응용프로그램의 효율성

         

         매크로 기능은 개발 시간과 프로그램에 대한 유지 시간을 모두 감소시킬 수 있습니다.

     

     다만, 매크로 기법에 의해 생성 된 SAS 코드하고 해서

     매크로를 사용하지 않은 코드보다 더 빨리 컴파일 되거나 더 빨리 실행되는 것을 아닙니다.

     즉, SAS 코드가 어떻게 생성되었는지(매크로 기능의 사용 여부)에 관계없이

     기본적인 SAS 코드의 효율에 의존합니다.

 

 

 

그럼 매크로를 개발하는 과정을 배워보겠습니다.

 

 매크로 응용 프로그램 개발하는 순서

à 매크로를 사용하여 SAS 코드를 생성하는 경우, 

   아래 5단계 방법을 사용하면 좋습니다.

 

  1.  매크로 코딩에 상관없이 SAS 프로그램을 쓰고 Debug합니다.
  2.  하드 코딩된 값 자리에 매크로 변수 참조를 대체함으로써 프로그램을 일반화합니다.
  3.  매크로 매개 변수를 사용하여 매크로 정의를 작성합니다.
  4.  조건 및 반복 처리를 위해 매크로 수준의 프로그래밍을 추가합니다.
  5.  데이터 중심의 사용자 정의를 추가합니다.

 

위 다섯 단계의 방법은 빠른 개발 및 디버깅을 가능하게 합니다.

SAS 코드 수준의 문법과 논리는 매크로 수준의 문법과 논리로부터 분리되기 때문이지요.

 

 

 

이상, 매크로 기능의 목적을 알아보았습니다.

 

그럼 다음 시간에는 프로그램 흐름에 대해 살펴보도록 하겠습니다.

 

감사합니다^^

  

 

 

Version history
Last update:
‎06-16-2020 05:45 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