[SAS 정복하기]SAS 전환 가이드

최대 1 분 소요


안녕하세요 곰도리입니다.
이번에는 SAS-> SQL 전환 가이드에 대해서 설명해보도록 하겠습니다.
우선, SAS에서 SQL로 왜? 전환해야하는지 의문이 들 수 있습니다. 전환 이유는 전체 분석시간을 단축하고, SAS 부하 절감 시키기 위해서 입니다.

1. 기본 함수(1/7)

문자열 일부 추출
SUBSTR(변수, 시작위치, 길이) -> SAS

SUBSTR(변수, 시작위치, 길이) -> SQL

문자 연결
|| CAT(변수1, 변수2 ….) -> SAS
문자 연결
CONCAT(변수1, 변수2)
공백 제거
TRIM(변수) COMPRESS(변수) -> SQL
공백 제거
RTRIM(변수) TRIM(변수)
NULL 값 대체
COALESCE(변수, 대체할 값) -> SAS
NULL 값 대체
NVL(변수, 대체할 값) -> SQL

2. DATE & TIME 함수

TODAY() 01SEP2016

INTCK('DAY',시작하는날짜,끝나는날짜)    1047
INTCK('DAY',STARTDATE, ENDDATE) 34
INTNX('MONTH',기준날짜, 증감분) 01NOV2016

PUT(날짜형변수, YYMMDDn8.) 20160901
PUT(날짜형변수, YYMMn6.) 201611


3. INTCK vs MONTHS_BETWEEN

DATA A;
R1 = INTCK('MONTH',''01SEP2016'd, '01DEC2016'd); 3
R2 = INCK('MONTH', '01SEP2016'd,15DEC2016'd); 3
RUN;
// SAS
SELECT
MONTHS_BETWEEN('2016-12-01','2016-09-01') 3
,MONTHS_BETWEEN('2016-12-15','2016-09-01') 3.45....
FROM ...
//SQL

결론을 말하자면 SAS에서는 모두 경과개월 수 3으로 수렴하지만 SQL의 경우 소수까지 반환한기 때문에 이 부분을 주의해서 전환해야한다.

이상입니다. 감사합니다.

다음에는 더 알찬 컨텐츠로 찾도록 하겠습니다.

태그:

카테고리:

업데이트: