태블로의 날짜 함수 중 “DATEPART” 함수에 대해서 알아보자.
1. DATEPART 함수는 무엇인가?
DATEPART 함수는 지정한 날짜의 부분을 정수로 반환한다.
DATEPART(날짜_부분, 날짜, [주_시작])
날짜_부분: 어떤 날짜의 부분을 말한다. 예를 들어, ‘year’, ‘month’ 등을 말한다.
날짜: DATEPART 함수를 사용하여 지정하고 싶은 기준 날짜를 말한다.
[주_시작]: 한 주의 시작요일을 말한다.
만약, [주_시작]을 생략하면, 주 시작일이 데이터 원본에 대해 구성된 시작일에 의해 결정된다.
예를 들어보자.
DATEPART(‘year', [Order Date])
위 수식은 지정한 날짜 [Order Date]에서 연도(‘year’)를 정수로 변환한다.
위 테이블에서 왼쪽에는 주문 날짜이고, 오른쪽에는 위 수식(DATEPART - YEAR)을 사용한 날짜이다.
오른쪽 날짜는 왼쪽 날짜(주문 날짜)에서 ‘연도’만을 반환한 것이다.
DATEPART(‘month', [Order Date])
위 수식은 지정한 날짜 [Order Date]에서 월(‘month’)을 정수로 변환한다.
위 테이블에서 왼쪽에는 주문 날짜이고, 오른쪽에는 위 수식(DATEPART - MONTH)을 사용한 날짜이다.
오른쪽 날짜는 왼쪽 날짜(주문 날짜)에서 ‘월’을 반환한 것이다.
DATEPART(‘weekday', [Order Date])
위 수식은 지정한 날짜 [Order Date]에서 요일(‘weekday’)을 정수로 변환한다.
위 테이블에서 왼쪽에는 주문 날짜이고, 오른쪽에는 위 수식(DATEPART - WEEKDAY)을 사용한 날짜이다.
오른쪽 날짜는 왼쪽 날짜(주문 날짜)에서 ‘요일'을 숫자로 반환한 것이다.
참고로, DATEPART 함수에서 “날짜_부분”은 태블로에서 사용하는 “날짜_부분” 중에서 사용할 수 있다.
(아래 “date_part”가 “날짜_부분”이다.)
2. DATEPART 함수는 언제 사용할 수 있을까?
각 선적일(Ship Date)은 일년중 몇째날인지 알고 싶다면?
모든 선적일과 그 선적일이 일년중 몇째날인지 알아보자.
STEP1. [Ship Date]를 행으로 드래그하자.
STEP2. 행으로 드래그 한 [연도(Ship Date)]를 클릭하고, [기타] - [사용자 지정]을 클릭하자.
STEP3. [세부 정보]를 클릭하고, [연도/월/일]을 선택하고, [확인]을 클릭하자.
그러면, Ship Date가 아래와 같이 나온다.
STEP4. 계산된 필드에서 아래와 같이 수식을 작성하자.
DATEPART 함수에서 “날짜_부분”을 ‘dayofyear’을 사용했다.
‘dayofyear’은 일년중 몇째날인지를 숫자로 알려준다.
STEP5. 위 수식(“DATEPART - DAYOFYEAR(Ship Date)”)을 행으로 드래그하자.
모든 선적일과 그 선적일이 일년중 몇째날인지 확인할 수 있다.