BookmarkSubscribeRSS Feed

[기초부터 배우는 SAS Programing] 3.FORMAT문

Started ‎06-15-2020 by
Modified ‎06-15-2020 by
Views 1,088

기초부터(8).png

 

 

FORMAT

 

1. Format문

출력형식을 결정하는 것으로 셀 서식으로 볼 수 있습니다.

포맷은 기존 sas에서 정의된 것을 사용할 수도 있고, 사용자가 정의할 수도 있습니다.

하지만 이것은 출력형식에만 영향을 미치고 실제 데이터에는 영향을 끼치지 않습니다.

 

 

2. 기본 사용

 

Format 변수명 적용할format;

 

1.PNG

 dollar11.2 : 변수 tuition의 값들 앞에 $표시를 하고, 천단위마다 콤마표시, 최대 11자리, 소수 둘째자리까지 표시하라는

                       시스템 정의 format

 

 

3. 자주 쓰이는 Format

 

① 시스템 정의 format 기본 구성

                <$>format<w>.<d>

      $ : 문자포맷일 경우 $를 앞에 쓰고 숫자포맷일 경우 쓰지 않습니다.

      fotmat : 포맷 이름

      w : 전체 자리수

      . : 구분자

      d : 소수점 이하 자리수

 구분자까지는 반드시 써야합니다!

 

② 숫자포맷 (해당 데이터가 숫자인 경우)

원래 값 포맷 출력 값
12345.6789 comma10.2 12,345.67
12345.6789 11.3 12345.678
12345.6789 dollar10.2 $12,345.67

 

③ 문자포맷 (해당 데이터가 문자인 경우)

원래 값 포맷 출력 값
PARTTIMEJOB          $8                               PARTTIME               

 

④ 날짜포맷 (해당 데이터가 날짜인 경우)

원래 값 포맷 출력 값
0 MMDDYY6. 010160
0 MMDDYY8. 01/01/60
0 MMDDYY10. 01/01/1960
0 DATE7. 01JAN60
0 DATE9. 01JAN1960

   sas에서 날짜는 1960년 1월 1일을 0으로 하여 숫자로 인식한다고 한거 기억하시죠? ^^ 

 

 

4. 사용자 정의 Format

  시스템 정의 포맷 외에 사용자가 직접 포맷을 만들어 사용할 수 있습니다.

① 포맷 만들기

- 기존의 포맷 이름은 쓸 수 없습니다.

- 문자포맷을 만들 경우 사용자 정의 포맷명은 '$'로 시작해야 합니다. (ex. $gender)

- 숫자포맷을 만들 경우 '$'는 오지 않고, 제일 마지막에 숫자는 올 수 없습니다. (ex. gen7der)

proc format;
      value format-name range1='label'
                                         range2='label'
                               .... ;
run;

 

2.PNG

   숫자-숫자 : 양쪽 값 모두 포함 (ex. 50-100 : 50이상 100이하)

   low-<숫자 : 부등호는 등호를 포함하지 않음 (ex. low-<50 : 최솟값이상 50미만)

 

② 영구 저장 포맷 만들기

- proc format을 이용하여 만들면 WORK라이브러리에 Format이라는 카탈로그를 생성하여 저장되고 sas 종료와 함께 사라집니다.

- 사용자 정의 포맷을 영구 저장하고 싶으면 저장할 라이브러리를 따로 지정해주면 됩니다.

proc format lib=library-name;

 

 

 

proc format lib=edu;

  value level low-<350='저렴'

              350-450='보통'

              450-550='비쌈'

              550<-high='매우비쌈';

run;

 

 edu라이브러리에 Format카탈로그가 생성되고 그 안에 포맷이 저장되어 언제든지 사용할 수 있습니다.

 

 

 한 번 만든 포맷을 영구 저장 후 나중에 어떻게 정의했는지 확인할 때

 

proc format lib=library-name fmtlib;

 
run;

  

3.PNG

 

 

      기왕이면 다홍치마라고 같은 내용이어도 보기좋은게 더 좋겠죠?

      오늘 Format 내용 잘 기억하셔서 유용하게 쓰시기 바랍니다*^.^*

 

 

 

  다음은 지난 시간 예제에 대한 답입니다^^

 

4.PNG

Version history
Last update:
‎06-15-2020 04:33 AM
Updated by:
Contributors

sas-innovate-white.png

🚨 Early Bird Rate Extended!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.

 

Lock in the best rate now before the price increases on April 1.

Register now!

Article Labels
Article Tags