이 문서는 데이터 웨어하우징 섹션의 일부입니다.
현업 사례: 월별 매출 크로스탭을 매번 수동으로 만들던 시절
🔥 이것은 거의 모든 데이터 분석 조직에서 겪는 비효율입니다.현업에서는 “월별 매출을 제품별로 보고 싶어요”라는 요청이 매주, 때로는 매일 옵니다. PIVOT을 모르면 어떤 일이 벌어지는지 살펴보겠습니다.
PIVOT 없이 리포트 만드는 고통
💡 PIVOT을 사용하면 위 코드가 10줄 이내로 줄어듭니다. 하지만 PIVOT에도 한계가 있습니다.
동적 PIVOT의 한계와 우회 방법
SQL PIVOT의 가장 큰 제약: 값을 미리 알아야 합니다
Databricks SQL의PIVOT은 IN 절에 피벗할 값을 명시적으로 나열 해야 합니다. 즉, 제품명이 뭐가 있는지 미리 알아야 합니다. 새 제품이 추가되면 쿼리를 수정해야 합니다.
우회 방법 1: 2단계 쿼리 (가장 실용적)
우회 방법 2: 임시 뷰 + 매개변수화
💡 현업 팁: 대시보드에서 크로스탭이 필요할 때는 PIVOT 쿼리를 쓰는 것보다 Lakeview의 피벗 테이블 시각화 를 사용하는 것이 훨씬 편합니다. SQL PIVOT은 ETL 파이프라인에서 데이터를 넓은(wide) 형태로 변환할 때 주로 사용합니다.
실전 리포트 생성 패턴
패턴 1: YoY(전년 대비) 비교 크로스탭
패턴 2: EAV(Entity-Attribute-Value) 데이터 정규화 (UNPIVOT)
패턴 3: 멀티 메트릭 대시보드용 PIVOT
💡 현업에서 가장 중요한 팁: PIVOT/UNPIVOT은 도구 일 뿐입니다. 최종 사용자에게 보여줄 리포트라면 Lakeview 대시보드의 피벗 테이블 시각화가 훨씬 빠르고 유연합니다. SQL PIVOT은 데이터 파이프라인에서 형태를 변환 하거나, 다른 시스템에 넓은 형태로 내보낼 때 진가를 발휘합니다.