일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 얼굴합성앱추천
- 사례기반추론
- hdmi젠더
- SAS 연산오류
- 데이타마이닝 툴
- 일본 뜀틀 응원 기적 감동
- 리더쉽
- 베트남 #자동차 #베트남자동차보급율
- SAS에서 한글사용
- 스틱pc
- 웨카
- Deepfake
- subset
- HDMI-DVI
- SAS 날짜
- 딥페이크
- 티스토리챌린지
- 지방자치단체조합
- SAS 계산오류
- 기계학습
- 뉴스로 이해하는 베트남
- 강의자료
- r
- FPT #베트남기업
- 토드부크홀츠
- 책모음
- 오블완
- R 프로그래밍
- SAS
- 베트남삼겹살
- Today
- Total
지식노동자의 노트
SAS Format Tutorial 본문
SAS Format
KimGyuJin, MS in Management Information Systems
Format에 대한 기본이해
SAS에서 Format 은 data set에 저장된 값의 표시형태만을 바꿀 때 사용합니다. Excel에서 “표시형식”과 같다고 생각하시면 됩니다. 예를 들어 18469라는 숫자를 보시죠. 제가 이 글을 쓰는 오늘 2010년 7월 26일은 1960년 1월 1일로 부터 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를 빼서 a를 7월 1일로 바꿔 보겠습니다.
set _fmt_tst;
b = 25;
c = a - b;
format c yymmddn.;
run;
<기억하세요>
-
Format은 SAS내부에 저장된 값을 변경하지 않는다.
-
어떤 Format을 선택하는가에 따라 하나의 값으로 다양한 표현이 가능하다.
-
Format은 항상 점(.)을 찍는다.
Format적용하기
Format을 사용하는 방법은 Data Step에서 사용하는 것과 Proc Step에서 사용하는 것 2가지가 있습니다. Format문을 Data Step에서 사용할 경우 SAS system은 data set의 Descriptor 영역에 해당정보를 저장합니다. 하지만 Proc Step에서 Format을 사용하면 해당 Proc에 의해 생성된 Output에만 적용됩니다.
SAS System제공 Format사용하기
SAS는 자체적으로 다양한 Format을 제공합니다. 대부분 기본 Format만으로도 충분히 원하는 결과를 얻을 수 있습니다. 모든 Format을 알고 싶다면 SAS Language Dictionary를 참고하세요. 그러나 만약에 제공된 Format이 충분하지 않다면 Proc Format 명령문을 사용해서 여러분만의 Format을 만들 수도 있습니다.이 부분은 나중에 다루겠습니다.
(W.D)옵션
'SAS' 카테고리의 다른 글
SAS 중복데이타 제거 및 추출 (0) | 2012.05.08 |
---|---|
SAS 날짜 다루기의 모든 것 Everything about SAS Date (0) | 2012.05.08 |
HMS Function (시, 분, 초 값으로 부터 시간값을 구한다) 숫자를 시간으로 (0) | 2012.05.03 |
문자형 날짜시간값을 SAS datetime으로...... (0) | 2010.08.04 |
Data Preprocessing Using SAS - 수술실 사용시간 분포 구하기 (0) | 2010.08.02 |