제조 데이터 · 설비 자동화

현장에서 얻은 데이터를
쓸 수 있는 정보로 정리합니다.

PLC, Python, SQL, Tableau와 예지보전을 실제 설비기술 업무의 흐름 안에서 기록합니다.

Tableau 날짜별·월별 그룹화 — DATEPART·DATETRUNC 차이 [Tableau 6]

 

시리즈 안내 · 이 글은 Tableau 6입니다.
Tableau 전체 글 보기 →

월별 차트인데 여러 해의 1월이 합쳐진 이유

Tableau에서 날짜 필드를 열에 놓고 을 선택했더니 2025년 1월과 2026년 1월이 하나로 합쳐질 수 있습니다.

이 경우 월을 1~12라는 날짜 부분으로 사용했을 가능성이 큽니다. 월별 추세를 보려면 2026-08-01처럼 연도까지 포함된 날짜 값으로 묶어야 합니다.

시리즈 안내 이 글은 「Tableau 실무」 시리즈의 6번째 글입니다. 5편에서 비어 있는 값을 구분했다면, 이번에는 값은 있는데 날짜 수준을 잘못 골라 서로 다른 해의 같은 달이 합쳐지는 문제를 다룹니다.

DATEPART: 날짜의 한 부분을 숫자로 반환

DATEPART('month', [기록시각])

결과는 1부터 12까지의 숫자입니다. 연도 정보가 포함되지 않으므로 여러 해의 같은 달을 계절별로 비교할 때 적합합니다.

DATEPART('hour', [기록시각])

시간대별 설비 패턴을 0~23시로 비교할 때도 사용할 수 있습니다.

DATETRUNC: 지정한 수준의 날짜로 맞추기

DATETRUNC('month', [기록시각])

2026년 8월의 모든 날짜를 2026-08-01이라는 월 시작일로 변환합니다. 반환값이 날짜이므로 시간 순서가 유지됩니다.

월별 추세에는 다음 계산 필드를 권장합니다.

// 월 시작일
DATETRUNC('month', [기록시각])

주별 추세:

DATETRUNC('week', [기록시각], 'monday')

데이터 원본의 주 시작일 설정에 따라 결과가 달라질 수 있으므로 월요일 또는 일요일 기준을 명시합니다.

DATEPART와 DATETRUNC 비교

목적 함수 결과 예시
여러 해의 1월끼리 비교 DATEPART('month', 날짜) 1
2025-01과 2026-01을 구분 DATETRUNC('month', 날짜) 2026-01-01
시간대별 분포 DATEPART('hour', 날짜시간) 14
일별 시계열 DATETRUNC('day', 날짜시간) 2026-08-28

불연속 날짜와 연속 날짜

Tableau에서 파란색 날짜 필드는 불연속 값으로 머리글을 만들고, 초록색 날짜 필드는 연속 축을 만듭니다.

  • 월 이름을 열 머리글로 비교: 불연속 월
  • 시간 흐름을 선으로 표시: 연속 월 또는 정확한 날짜
  • 데이터가 없는 기간의 간격 확인: 연속 날짜 축

같은 이라는 표시라도 불연속·연속 선택에 따라 차트 구조가 달라집니다.

날짜 필터에서 시간이 빠지는 문제

[기록시각]이 DateTime이라면 종료일 자정 이후 데이터가 빠질 수 있습니다.

예를 들어 8월 31일까지 조회하려고 다음 조건을 사용하면:

[기록시각] <= #2026-08-31#

8월 31일 00:00:00 이후 데이터는 제외될 수 있습니다. 다음 달 시작 전까지로 조건을 쓰는 편이 명확합니다.

[기록시각] >= #2026-08-01#
AND [기록시각] < #2026-09-01#

문자열 날짜라면 먼저 변환 확인

문자열을 날짜처럼 표시만 바꿔서는 날짜 계층과 필터를 제대로 사용할 수 없습니다. 원본에서 Date 또는 DateTime 형식인지 확인합니다.

DATEPARSE("yyyy-MM-dd HH:mm:ss", [기록시각_문자열])

DATEPARSE 지원 여부는 데이터 원본에 따라 다를 수 있습니다. 가능하면 SQL 또는 데이터 준비 단계에서 날짜형으로 변환합니다.

월별 설비 가동률 예시

계산 필드 1:

// 월
DATETRUNC('month', [기록시각])

계산 필드 2:

// 가동률
SUM([가동시간]) / SUM([계획시간])

을 열에, 가동률을 행에 놓고 설비코드를 색상 또는 필터로 사용합니다. 월을 문자열로 만들어 정렬하기보다 날짜 값을 유지하고 표시 형식만 yyyy-MM로 바꾸는 편이 좋습니다.

누락된 월 확인

연속 날짜 축에서 특정 월이 비어 있다면 다음을 구분합니다.

  • 해당 월 행 자체가 없음
  • 행은 있지만 측정값이 NULL
  • 날짜 필터에서 제외됨
  • 데이터 원본 관계 또는 조인에서 사라짐

이전 글의 NULL 처리와 함께 확인합니다.

오늘의 정리

  • 날짜의 일부 숫자: DATEPART
  • 해당 기간의 시작 날짜: DATETRUNC
  • 여러 해의 월별 추세: DATETRUNC('month', 날짜)
  • 시간대 비교: DATEPART('hour', 날짜시간)
  • 종료일 필터는 다음 기간 시작 전까지의 반열린 구간을 검토
  • 날짜 값은 유지하고 표시 형식만 바꾸기

월별 차트가 이상하면 축 모양보다 월을 어떤 값으로 만들었는지 먼저 보세요. DATEPART('month', ...)는 1부터 12까지의 숫자이고, 여러 해의 추세에는 연도까지 남는 DATETRUNC('month', ...)가 맞습니다.

참고 자료

다음 글 예고

날짜 수준을 바로잡으면 데이터가 늘어날수록 화면이 느려지는 문제가 남습니다. 다음 Tableau 글에서는 라이브 연결과 추출을 다시 비교하고, 갱신 주기와 성능 사이의 기준을 정리합니다.

이전 글·다음 글 바로가기

이전 글: Tableau NULL 처리 방법 [Tableau 5]

📚 Tableau 실무 시리즈 전체 목차

다음 글: Tableau 실무 시리즈 전체 목차