Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 테이블만들기
- 맵차트
- tableau
- 날짜 함수
- SQL
- 파이썬
- 하드웨어
- SQL 테이블 삭제
- batch
- 색상코드
- 클라우드
- 배치파일
- Data Analysis
- >>
- AWS
- 방화벽
- MySQL
- HTTP
- SAML
- 태블로
- SSO
- SSO인증
- Network
- Linear models
- SSL
- map차트
- dns
- https
- 선형회귀
Archives
- Today
- Total
SeaForest
[Tableau] datetrunc 함수란 / datetrunc와 datepart 차이 본문
태블로의 날짜 함수 중 datetrunc에 대한 정리와 태블로를 쓰면서 많이 헷갈렸던 datetrunc와 datepart의 차이점에 대해서 정리해보았다.
1. datetrunc 함수란?
- datetrunc('날짜 부분',[날짜],[주_시작])
- [날짜]를 '날짜 부분'에 따라 잘라서 반환한 새로운 날짜의 시작일을 반환하는 함수
- '날짜 부분' : year, quarter, month, week, day 등
- [주_시작]은 생략하면 데이터 원본에 의해 결정되고 [주_시작]으로 가능한 값은 monday나 tuesday등이 가능
(참고로 데이터 원본에 대한 날짜는 '데이터 → 날짜 속성'에서 확인 가능)
2. 구체적인 예시
(1) 예를 들어 [sample date] = 2021-11-18 이라고 가정하면,,,
함수 | 구체적인 해석 | 결과값 |
datetrunc('month',[sample date]) | 2021-11-28이 속한 'month'의 첫 날 | 2021-11-01 |
datetrunc('quarter',[sample date]) | 2021-11-28이 속한 'quarter'의 첫 날 | 2021-10-01 |
datetrunc('year',[sample date]) | 2021-11-28이 속한 'year'의 첫 날 | 2021-01-01 |
(2) superstore 샘플 데이터
[@datetrunc_sample]
DATE(datetrunc('month',[Order Date]))

주문 날짜(=[Order Date]) 가 2018-01-01 ~ 2018-01-31의 경우 month기준으로 첫 시작일이 모두 2018-01-01이기 때문에 datetrunc('month',[주문 날짜])로 보면 해당 날짜의 데이터가 모두 2018-01-01이라는 날짜 하나로 묶임.
[@datetrunc_sample2]
DATE(datetrunc('week',[Order Date]))

현재는 데이터 원본의 '주 시작'을 일요일로 했기 때문에 2021-11-14(일) ~ 2021-11-20(토)까지 그 주의 첫날인 2021-11-14(일)에 묶어서 표현됨.
3. datetrunc 함수 활용 예시
(1) 전월 판매 금액 확인
- '기준 날짜' 필터 만들기
[@전월 매출]
if datetrunc('month',[Order Date])=dateadd('month',-1,[@기준 날짜]) then [Sales] END
[@기준 날짜]
makedate([P_기준 날짜(연도)],[P_기준 날짜(월)],1)
- 의미 : 필터로 선택한 날짜(=[@기준 날짜])의 '월'에서 -1을 한 경우(=전월)과 동일한 날짜에 해당하는 sales값을 모두 반환

- 예를 들어 매개변수로 기준 날짜의 연도와 월을 '2021년 2월'로 선택한다면 '전월 Sales'는 '2021년 1월'의 Sales값이 나와야 한다.
- 2021년 1월의 Sales 합계인 43,971이 나온 원리는 datetrunc 함수로 [Order date]의 2021-01-01 ~ 2021-01-30까지를 2021-01-01로 다 묶은 후 이때의 월(=01)과 매개변수로 변경한 기준 날짜의 월(=01)이 같기 때문에 2021-01-01의 Sales 합계인 43,971을 출력하게 된다.
4. datetrunc와 datepart 차이
- datepart (날짜_부분,날짜,[주_시작])
- datepart는 날짜의 일부분을 잘라내는 것이라고 생각하면 됨.
- datepart는 불연속형 날짜에 해당하고 datetrunc는 연속형 날짜에 해당함.
[sample date] | 함수 | 결과값 |
2021-06-07 | datetrunc('month', [sample date]) | 2021-06-01 |
datepart('month', [sample date]) | 06 | |
2020-10-28 | datetrunc('quarter', [sample date]) | 2020-10-01 |
datepart('quarter', [sample date]) | 04 (10월은 4분기에 속하기 때문) |
- 2020년과 2021년 데이터로 비교


datepart의 경우 2020년 1월과 2021년 1월을 모두 합쳐서 한개의 "1월"로 계산하지만 dateparse는 2020년 1월과 2021년 1월을 각각 따로 다른 것으로 계산함.
'Tableau' 카테고리의 다른 글
차트 및 대시보드 시각적으로 강조하기 (0) | 2023.06.04 |
---|---|
[Tableau] 글꼴 한번에 변경 / 시트와 대시보드 글꼴 변경 (0) | 2021.11.13 |
[Tableau] 사용자 지정 색상 만들기 / 색상표 만들기 (0) | 2021.10.31 |
[Tableau] map차트 움직이지 않게 고정하기 (0) | 2021.10.31 |