지식노동자의 노트

SAS Format Tutorial 본문

SAS

SAS Format Tutorial

생각하는너구리 2010. 7. 26. 01:26
728x90

SAS Format


KimGyuJin, MS in Management Information Systems



Format에 대한 기본이해

SAS에서 Format data set에 저장된 값의 표시형태만을 바꿀 때 사용합니다. Excel에서 “표시형식”과 같다고 생각하시면 됩니다. 예를 들어 18469라는 숫자를 보시죠. 제가 이 글을 쓰는 오늘 2010726일은 196011일로 부터 18469일째 되는 날입니다. SAS의 날짜값에 대한 얘기는 다음에 하기로 하죠. 어쨌든 18469라는 숫자는 그냥 숫자로 보이지만 여기에 yymmddn. 이라는 format을 씌우면 어떻게 되는지 보시죠.

data _fmt_tst;

a = 18469;

proc print; /*format없이 print <결과1>*/

run;

proc print; /*yymmddn. format으로 print <결과2>*/

format a yymmddn.;

run;


<결과1>

18469

<결과2>

20100726



<결과2>에서 보듯이 20100726이라는 날짜값으로 나타났습니다. 주의하실점은 여전히 a에 저장된 값은 18469 라는 숫자라는 것입니다. 20100726은 숫자가 아니라 18469가 겉모습만 바꾼 날짜라는 것이죠. 여기서 25를 빼서 a71일로 바꿔 보겠습니다.

data _fmt_tst01;

set _fmt_tst;

b = 25;

c = a - b;

format c yymmddn.;

run;

<결과3>


<
기억하세요>

  1. FormatSAS내부에 저장된 값을 변경하지 않는다.

  2. 어떤 Format을 선택하는가에 따라 하나의 값으로 다양한 표현이 가능하다.

  3. Format은 항상 점(.)을 찍는다.


Format
적용하기

Format을 사용하는 방법은 Data Step에서 사용하는 것과 Proc Step에서 사용하는 것 2가지가 있습니다. Format문을 Data Step에서 사용할 경우 SAS systemdata setDescriptor 영역에 해당정보를 저장합니다. 하지만 Proc Step에서 Format을 사용하면 해당 Proc에 의해 생성된 Output에만 적용됩니다.

SAS System제공 Format사용하기

SAS는 자체적으로 다양한 Format을 제공합니다. 대부분 기본 Format만으로도 충분히 원하는 결과를 얻을 수 있습니다. 모든 Format을 알고 싶다면 SAS Language Dictionary를 참고하세요. 그러나 만약에 제공된 Format이 충분하지 않다면 Proc Format 명령문을 사용해서 여러분만의 Format을 만들 수도 있습니다.이 부분은 나중에 다루겠습니다.

(W.D)옵션


 

반응형
Comments