Skip to main content
이 문서는 AI/BI 섹션의 일부입니다.

Metric View vs 일반 View 비교


Metric View SQL 문법 심화

복합 메트릭 (Derived Metric)

기본 측정값을 조합하여 파생 메트릭 을 정의할 수 있습니다. 비즈니스에서 자주 사용하는 비율, 전환율 등의 복합 지표를 한 곳에서 관리합니다.
💡 NULLIF 활용: 복합 메트릭에서 0으로 나누는 오류를 방지하기 위해 NULLIF(denominator, 0)을 사용하는 것이 모범 사례입니다. 0으로 나누면 오류 대신 NULL을 반환합니다.

시간 기반 메트릭 (Time-grain)

Metric View에서 time 차원을 정의하면, 소비자(Dashboard/Genie)는 자동으로 다양한 시간 단위로 집계할 수 있습니다.

필터 메트릭 (Filtered Measures)

같은 소스 테이블에서 조건이 다른 여러 메트릭을 정의할 수 있습니다.

자동 집계 동작 원리 심화

Metric View의 자동 집계는 단순한 매크로가 아니라, 쿼리 리라이트(Query Rewrite) 엔진에 의해 동작합니다.

내부 처리 과정

⚠️ 주의사항: Metric View에서 MEASURE만 SELECT하고 DIMENSION을 하나도 포함하지 않으면, 전체 데이터에 대한 단일 집계 가 수행됩니다. 대규모 테이블에서는 성능에 주의하세요.

Genie/Dashboard에서의 자동 집계

Genie에서 Metric View를 사용할 때의 내부 동작을 더 상세히 살펴보겠습니다.
💡 Metric View가 Genie 정확도를 높이는 이유: 일반 테이블을 Genie에 연결하면, “매출”이라는 질문에 어떤 컬럼의 어떤 집계(SUM? AVG? 필터 조건?)를 써야 할지 Genie가 추론해야 합니다. Metric View에서는 측정값의 정의가 명확 하므로 추론 오류가 크게 줄어듭니다.

dbt Metrics Layer와의 비교

Metric View는 기존 dbt Semantic Layer(MetricFlow) 와 유사한 개념을 Databricks 네이티브로 구현한 것입니다.
💡 하이브리드 접근: dbt로 데이터 변환(Medallion 파이프라인)을 수행하고, 최종 비즈니스 메트릭은 Metric View로 정의하는 하이브리드 패턴도 가능합니다. dbt는 변환 레이어, Metric View는 소비 레이어로 역할을 분리하는 것입니다.

대규모 조직에서의 메트릭 관리 전략

메트릭 거버넌스 체계

메트릭 네이밍 컨벤션

대규모 조직에서 수백 개의 메트릭이 생기면, 일관된 네이밍 규칙이 필수입니다.

도메인별 Metric View 설계 패턴

메트릭 변경 관리 프로세스

⚠️ 메트릭 변경은 곧 비즈니스 변경: “매출” 정의를 바꾸면 모든 대시보드의 숫자가 바뀝니다. Metric View의 CREATE OR REPLACE즉시 모든 소비자에게 전파 되므로, 반드시 사전 합의와 테스트를 거쳐야 합니다.

Edge Case와 주의사항


정리


참고 링크