태블로의 날짜 함수 중 “DATEDIFF” 함수에 대해서 알아보자.
1. DATEDIFF 함수는 무엇인가?
DATEDIFF 함수는 두 날짜 사이의 차이를 반환하는 함수이다.
DATEDIFF(날짜_부분, 시작_날짜, 끝_날짜, [주_시작])
날짜_부분: 어떤 날짜의 부분을 말한다. 예를 들어, ‘year’, ‘month’ 등을 말한다.
시작_날짜: 시작하는 날짜를 말한다.
끝_날짜: 끝나는 날짜를 말한다.
[주_시작]: 한 주의 시작요일을 말한다.
끝_날짜에서 시작_날짜를 뺀다. 두 날짜의 차이는 날짜_부분의 날짜 단위로 표현된다.
만약, [주_시작]을 생략하면, 주 시작일이 데이터 원본에 대해 구성된 시작일에 의해 결정된다.
예를 들어보자.
DATEDIFF('day', [Order Date], [Ship Date])
여기서 날짜_부분은 ‘day’, 시작_날짜는 [Order Date], 끝_날짜는 [Ship Date]가 된다.
DATEDIFF('week', #10-08-2017#, #15-08-2017#, 'monday’)
DATEDIFF('week', #13-08-2017#, #15-08-2017#, ‘sunday’)
달력을 보면, 2017년 8월 10일, 13일, 15일은 각각 목요일, 일요일, 화요일이다.
첫번째 계산된 필드는 10일과 15일 사이, 즉 목요일과 그 다음주 화요일 사이의 ‘주’ 차이를 구하는데, 주 시작일이 월요일이기 때문에 값이 ‘1’이 나온다. 첫째주 월~일요일 사이에 10일(목요일)이 있고, 둘째주 월~일요일 사이에 15일(화요일)이 있기 때문이다.
두번째 계산된 필드는 13일과 15일 사이, 즉 일요일과 화요일 사이의 ‘주’ 차이를 구하는데, 주 시작일이 일요일이기 때문에 값이 ‘0’이 나온다. 첫째주 일~월요일 사이에 13일(일요일)과 15일(화요일)이 같은 주에 있기 때문이다.
참고로, DATEDIFF 함수에서 “날짜_부분”은 태블로에서 사용하는 “날짜_부분” 중에서 사용할 수 있다.
(아래 “date_part”가 “날짜_부분”이다.)
2. DATEDIFF 함수는 언제 사용할 수 있을까?
Superstore 데이터를 사용하여,
각 제품의 모든 주문에 대하여, 주문 후, 선적까지 걸린 일수를 알아보자.
STEP1. 계산된 필드에서 다음과 같이 수식을 작성하자.
위 수식의 뜻은 주문일과 선적일 사이의 날짜의 차이를 ‘일’로 계산하는 것이다.
STEP2. [Product Name]과 [Order Date]를 행으로 드래그하자.
STEP3. [연도(Order Date)]를 클릭하고, [기타] - [사용자 지정]을 클릭하자.
STEP4. [연도/월/일]을 선택하고, [확인]을 클릭하자.
그러면, 아래와 같이 “YMD(Order Date)”가 된다.
STEP5. [Ship Date]를 행으로 드래그하고, [Order Date]와 같이 “YMD” 형태로 바꾼다.
STEP6. 위에서 만든 수식(“주문 후, 선적일까지 걸린 일수”)을 마크의 [텍스트]로 드래그하자.
그러면, 위와 같이 각 제품(Product Name)들이 몇번 주문 되었는지와 각 주문당 선적일까지 걸린 일수를 알 수 있다.
[전자책 출간] 태블로 차트 모음집
▶ 태블로를 이용한 다양한 차트 만들기
▶ 태블로를 이용한 비즈니스용 차트 만들기