태블로의 날짜 함수 중 “DATETRUNC” 함수에 대해서 알아보자.
1. DATETRUNC 함수는 무엇인가?
DATETRUNC 함수는 지정한 날짜를 날짜_부분에 지정된 정확도에 따라 잘라내고, 새 날짜를 반환하는 함수이다.
DATETRUNC(날짜_부분, 날짜, [주_시작])
날짜_부분: 어떤 날짜의 부분을 말한다. 예를 들어, ‘year’, ‘month’ 등을 말한다.
날짜: DATETRUNC 함수를 사용하여 지정하고 싶은 기준 날짜를 말한다.
[주_시작]: 한 주의 시작요일을 말한다.
만약, [주_시작]을 생략하면, 주 시작일이 데이터 원본에 대해 구성된 시작일에 의해 결정된다.
예를 들어보자.
DATETRUNC(‘year', [Order Date])
위 수식의 뜻은 [Order Date]의 날짜 계층(year-quarter-month-week-day) 중에서 ‘year’ 아래로는 모두 제거하고,
그 연도의 첫째 월, 첫 일을 반환한다. 즉, 주문 날짜(Order Date)의 연도와 그 연도의 1월 1일을 반환한다.
위 테이블에서 왼쪽에는 주문 날짜이고, 오른쪽에는 위 수식(“DATETRUNC - year”)을 사용한 날짜이다.
오른쪽 날짜가 모두, 왼쪽 주문 날짜의 연도와 그 연도의 1월 1일을 반환한다.
DATETRUNC(‘quarter', [Order Date])
위 수식의 뜻은 [Order Date]의 날짜 계층(year-quarter-month-week-day) 중에서 ‘quarter’ 아래로는 모두 제거하고, 그 연도와 그 날짜가 속한 분기의 첫째 월, 첫 일을 반환한다.
여기서 ‘quarter’는 분기, 즉 1분기~4분기를 말한다.
각 분기가 3개월 단위이므로, 위 날짜([Order Date])가 속하는 분기의 첫달, 1일로 바꿔준다.
위 테이블에서 왼쪽에는 주문 날짜이고, 오른쪽에는 위 수식(“DATETRUNC - quarter”)을 사용한 날짜이다.
주문 날짜가 모두 9월로 3분기(7월~9월)에 속하므로, 오른쪽 날짜는 모두, 주문 날짜의 연도와 3분기의 첫달인 7월, 그리고 1일을 반환한다.
DATETRUNC(‘month', [Order Date])
위 수식의 뜻은 [Order Date]의 날짜 계층(year-quarter-month-week-day) 중에서 ‘month’ 아래로는 모두 제거하고,
그 연도와 그 날짜가 속한 달과 1 일을 반환한다.
위 테이블에서 왼쪽에는 주문 날짜이고, 오른쪽에는 위 수식(“DATETRUNC - month”)을 사용한 날짜이다.
오른쪽 날짜가 모두, 왼쪽 주문 날짜의 연도와 달, 그리고 1일을 반환한다.
참고로, DATETRUNC 함수에서 “날짜_부분”은 태블로에서 사용하는 “날짜_부분” 중에서 사용할 수 있다.
(아래 “date_part”가 “날짜_부분”이다.)
2. DATETRUNC 함수는 언제 사용할 수 있을까?
모든 제품의 주문 날짜가 있고, 주문 날짜는 제품마다 모두 다르지만, 선적 날짜는 모두, 그 다음 달의 첫날로 지정하고 싶다면?
그럼, 각 주문 날짜와 선적 날짜를 구해보자.
STEP1. [Order Date]를 행으로 드래그하고, [Order Date]를 다시 클릭하고, [기타] - [사용자 지정]을 클릭하자.
STEP2. [세부 정보]를 클릭하고, [연도/월/일]을 클릭하고, [확인]을 클릭하자.
그러면, 아래와 같이 날짜가 나온다.
STEP3. 계산된 필드에서 아래와 같이 수식을 작성하자.
위 수식은 “DATEADD” 함수를 “DATETRUNC” 함수내에서 사용했다.
위 수식의 뜻은 주문 날짜(Order Date)에 1달을 추가하여, 주문 날짜를 다음 달로 지정하고,
그 다음달을 날짜 계층(year-quarter-month-week-day) 중에서 ‘month’ 아래로는 모두 제거하고,
그 달의 첫째 일, 즉 1일을 반환한다.
참고로, “DATEADD” 함수에 대한 내용을 읽어보자.
STEP4. 위 수식("선적 날짜”)을 행으로 드래그하고, 클릭한 뒤, [기타] - [사용자 지정]을 클릭하자.
STEP5. [세부 정보]를 클릭하고, [연도/월/일]을 클릭하고, [확인]을 클릭하자.
그러면, 아래와 같이 날짜가 나온다.
주문 날짜는 모두 다르지만, 선적 날짜는 각 주문 날짜가 속한 달의 다음달 1일로 모두 같다.
[전자책 출간] 태블로 차트 모음집
▶ 태블로를 이용한 다양한 차트 만들기
▶ 태블로를 이용한 비즈니스용 차트 만들기