데이터 분석에서 날짜 데이터는 시간의 흐름에 따른 패턴 분석, 트렌드 예측, 기간 계산 등 다양한 영역에서 중요한 역할을 합니다.
SAS에는 날짜 데이터를 효과적으로 처리할 수 있도록 다양한 날짜 함수와 포맷, 인포매트를 제공합니다.
이번 글은 SAS에서 날짜 데이터를 다루기 위한 기본 문법과 실제 분석에서 유용하게 활용할 수 있는 날짜 함수와 포맷을 살펴보겠습니다.
현재 날짜를 출력하는 syntax는 'today()' 입니다.
data test;
today_date = today();
run;
결과값을 보면 날짜 형식이 아닌 단순 숫자의 형식으로 결과값이 출력됩니다.
그 이유는 SAS는 1960.01.01을 기준으로 날짜를 관리하기 때문입니다. 1960.01.01에는 0이라고 출력되고, 현재 2025.05.25는 1960.01.01(=날짜 값 0)을 기점으로 하루가 지날 때마다 1씩 증가해 238,886번째 일이라고 할 수 있습니다.
하지만, today()를 그대로 출력하면 흔히 보이는 날짜 형식이 아니기 때문에 별도의 포맷 지정이 필요합니다.
data test;
today_date = today();
run;
data test;
set test;
format today_date date9.;
run;
숫자 10자리 형식으로 MM(월) - 2자리, DD(일) - 2자리, YYYY(연도) - 4자리 를 나타냅니다.
data test;
today_date = today();
run;
data test;
set test;
format today_date mmddyy10.;
run;
비슷한 형식으로 MMDDYY8. 이 있습니다.
날짜를 Month, day, yyyy의 형식으로 최대 12자리까지 영문으로 풀어쓴 형식입니다.
data test;
today_date = today();
run;
data test;
set test;
format today_date WORDDATE12.;
run;
비슷한 형식으로는 WORDDATE20. 은 Month, day, YYYY의 형식으로 최대 20자리까지 영문으로 풀어쓴 형식입니다.