brunch

You can make anything
by writing

C.S.Lewis

by Cheon Aug 23. 2017

[DATE 함수] DATETRUNC

태블로의 날짜 함수 중 “DATETRUNC” 함수에 대해서 알아보자.





1. DATETRUNC 함수는 무엇인가?




DATETRUNC 함수는 지정한 날짜를 날짜_부분에 지정된 정확도에 따라 잘라내고, 새 날짜를 반환하는 함수이다.



DATETRUNC(날짜_부분, 날짜, [주_시작])



날짜_부분: 어떤 날짜의 부분을 말한다. 예를 들어, ‘year’, ‘month’ 등을 말한다.


날짜: DATETRUNC 함수를 사용하여 지정하고 싶은 기준 날짜를 말한다.


[주_시작]: 한 주의 시작요일을 말한다.



만약, [주_시작]을 생략하면, 주 시작일이 데이터 원본에 대해 구성된 시작일에 의해 결정된다.




예를 들어보자.


Q1. 각 제품들의 주문 날짜가 있고, 그 주문 날짜가 속한 연도의 첫날을 알고 싶다면?



DATETRUNC(‘year', [Order Date])



위 수식의 뜻은 [Order Date]의 날짜 계층(year-quarter-month-week-day) 중에서 ‘year’ 아래로는 모두 제거하고,


그 연도의 첫째 월, 첫 일을 반환한다. 즉, 주문 날짜(Order Date)의 연도와 그 연도의 1월 1일을 반환한다.



위 테이블에서 왼쪽에는 주문 날짜이고, 오른쪽에는 위 수식(“DATETRUNC - year”)을 사용한 날짜이다.


오른쪽 날짜가 모두, 왼쪽 주문 날짜의 연도와 그 연도의 1월 1일을 반환한다. 




Q2. 각 제품들의 주문 날짜가 있고, 그 주문 날짜가 속한 분기의 첫날을 알고 싶다면?



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일을 반환한다.






Q3. 각 제품들의 주문 날짜가 있고, 그 주문 날짜가 속한 달의 첫날을 알고 싶다면?



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일로 모두 같다.







[전자책 출간] 태블로 차트 모음집


▶ 태블로를 이용한 다양한 차트 만들기


▶ 태블로를 이용한 비즈니스용 차트 만들기






매거진의 이전글 [DATE 함수] DATEDIFF
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari