BookmarkSubscribeRSS Feed

[1-1] Macro - Introduction

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

[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

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

Article Labels
Article Tags