Skip to main content
이 문서는 데이터 웨어하우징 섹션의 일부입니다.

현업 사례: 월별 매출 크로스탭을 매번 수동으로 만들던 시절

🔥 이것은 거의 모든 데이터 분석 조직에서 겪는 비효율입니다.
현업에서는 “월별 매출을 제품별로 보고 싶어요”라는 요청이 매주, 때로는 매일 옵니다. PIVOT을 모르면 어떤 일이 벌어지는지 살펴보겠습니다.

PIVOT 없이 리포트 만드는 고통

💡 PIVOT을 사용하면 위 코드가 10줄 이내로 줄어듭니다. 하지만 PIVOT에도 한계가 있습니다.

동적 PIVOT의 한계와 우회 방법

SQL PIVOT의 가장 큰 제약: 값을 미리 알아야 합니다

Databricks SQL의 PIVOTIN 절에 피벗할 값을 명시적으로 나열 해야 합니다. 즉, 제품명이 뭐가 있는지 미리 알아야 합니다. 새 제품이 추가되면 쿼리를 수정해야 합니다.

우회 방법 1: 2단계 쿼리 (가장 실용적)

우회 방법 2: 임시 뷰 + 매개변수화

💡 현업 팁: 대시보드에서 크로스탭이 필요할 때는 PIVOT 쿼리를 쓰는 것보다 Lakeview의 피벗 테이블 시각화 를 사용하는 것이 훨씬 편합니다. SQL PIVOT은 ETL 파이프라인에서 데이터를 넓은(wide) 형태로 변환할 때 주로 사용합니다.

실전 리포트 생성 패턴

패턴 1: YoY(전년 대비) 비교 크로스탭

결과 예시:

패턴 2: EAV(Entity-Attribute-Value) 데이터 정규화 (UNPIVOT)

패턴 3: 멀티 메트릭 대시보드용 PIVOT

💡 현업에서 가장 중요한 팁: PIVOT/UNPIVOT은 도구 일 뿐입니다. 최종 사용자에게 보여줄 리포트라면 Lakeview 대시보드의 피벗 테이블 시각화가 훨씬 빠르고 유연합니다. SQL PIVOT은 데이터 파이프라인에서 형태를 변환 하거나, 다른 시스템에 넓은 형태로 내보낼 때 진가를 발휘합니다.

PIVOT 성능 최적화 팁

현업에서 대용량 데이터에 PIVOT을 적용할 때 알아두면 좋은 성능 팁입니다.

정리


참고 링크