고객사 분석가들이 쓰는 SAS 매크로에서 연월 문자열(예: 2016년 10월 → 201610)을 쓰는 일이 많았다. 분석가가 만든 SAS 모델을 배치 잡으로 만들기 위해 썼던 구문을 블로그에 보관해 둔다. 개발 경험이 있으니 이런 게 당연히 됨을 잘 알지만, SAS 문법이 생소해서 좀 헤맸다.
/* %LET PREV_MON = 201608; /* 대상연월: 수기입력 */
DATA _NULL_; /* 대상연월: 실행일의 전월 */
CALL SYMPUT(' PREV_MON', PUT(INTNX('MON', DATE(), -1), YYMMN6.));
RUN;
%PUT PREV_MON= &PREV_MON.;
[Log]
25 DATA _NULL_; /* 대상연월: 실행일의 전월 */
26 CALL SYMPUT('PREV_MON', PUT(INTNX('MON', DATE(), -1),YYMMN6.));
27 RUN;
NOTE: DATA 문장 실행(총 프로세스 시간):
실행 시간 0.00 초
cpu 시간 0.02 초
28
29 %PUT PREV_MON= &PREV_MON.;
PREV_MON= 201611
반응형
'BI' 카테고리의 다른 글
분석가에게 멍석 깔아주기 (0) | 2017.01.19 |
---|---|
Excel 필수 추가기능 Inquire (0) | 2016.03.25 |
예측의 생활화 (0) | 2016.03.05 |