다음을 통해 공유


모델 메트릭 보기 데이터

이 페이지에서는 메트릭 뷰 및 이를 사용하기 위한 모범 사례를 모델링하는 방법을 설명합니다.

메트릭 뷰는 데이터에 대한 의미 체계 계층을 만들어 원시 테이블을 표준화된 비즈니스 친화적인 메트릭으로 변환하는 데 도움이 됩니다. 측정할 항목, 집계 방법 및 분할 방법을 정의하여 조직 전체의 모든 사용자가 동일한 KPI(핵심 성과 지표)에 대해 동일한 수를 보고하도록 합니다. 목표는 비즈니스 메트릭에 대한 단일 진실 소스를 만드는 것입니다.

데이터를 메트릭 뷰로 모델링하면 복잡한 SQL, 테이블 구조 및 데이터 품질 문제를 추상화하여 분석가가 분석에만 집중할 수 있습니다.

핵심 구성 요소

메트릭 뷰를 모델링하려면 원본 데이터에 대해 다음 요소를 정의해야 합니다.

구성 요소 Description Example
출처 원시 트랜잭션 데이터를 포함하는 기본 테이블, 뷰 또는 SQL 쿼리입니다. samples.tpch.orders
차원 메트릭을 분할하거나 그룹화하는 데 사용되는 열 특성 제품 범주, 주문 월, 고객 지역
측정 메트릭을 생성하는 열 집계입니다. 이러한 측정값은 일반적으로 보고하는 것입니다. COUNT(o_order_id) 주문 수로, SUM(o_total_price) 총 수익으로.
필터 범위를 정의하기 위해 원본 데이터에 적용되는 영구 조건입니다.
  • status = 'completed'
  • order_date > '2024-01-01'

원본 정의

테이블과 유사한 자산 또는 SQL 쿼리를 메트릭 뷰의 원본으로 사용할 수 있습니다. 테이블과 유사한 자산을 사용하려면 자산에 대한 최소 SELECT 권한이 있어야 합니다.

테이블을 원본으로 사용

테이블을 원본으로 사용하려면 다음 예제와 같이 정규화된 테이블 이름을 포함합니다.

source: samples.tpch.orders

SQL 쿼리를 원본으로 사용

SQL 쿼리를 사용하려면 YAML에서 직접 쿼리 텍스트를 작성합니다.

source: SELECT * FROM samples.tpch.orders o
  LEFT JOIN samples.tpch.customer c
  ON o.o_custkey = c.c_custkey

비고

SQL 쿼리를 절을 포함하는 JOIN을 원본으로 사용할 때 Databricks는 기본 테이블에 기본 및 외래 키 제약 조건을 설정하고, 쿼리 성능 최적화를 위해 가능한 경우 RELY 옵션을 사용하라고 권장합니다. 기본 및 외래 키 제약 조건 사용에 대한 자세한 내용은 기본 키 및 외래 키 관계 선언 및기본 키 제약 조건을 사용하여 쿼리 최적화를 참조하세요.

메트릭 뷰를 원본으로 사용

기존 메트릭 뷰를 새 메트릭 뷰의 원본으로 사용할 수도 있습니다.

version: 1.1
source: views.examples.source_metric_view

dimensions:
  # Dimension referencing dimension from source_metric_view
  - name: Order date
    expr: order_date_dim

measures:
  # Measure referencing dimension from source_metric_view
  - name: Latest order month
    expr: MAX(order_date_dim_month)

  # Measure referencing measure from source_metric_view
  - name: Latest order year
    expr: DATE_TRUNC('year', MEASURE(max_order_date_measure))

메트릭 뷰를 원본으로 사용하는 경우 차원 및 측정값을 참조하는 데 동일한 작성 규칙이 적용됩니다. 컴포저빌리티를 참조하세요.

치수

차원은 쿼리할 때 SELECT, WHERE, GROUP BY 절에서 사용되는 열입니다. 각 식은 스칼라 값을 반환해야 합니다. 차원은 배열로 정의됩니다. 각 차원은 다음 두 가지 구성 요소로 구성됩니다.

  • name: 열의 별칭입니다.

  • expr: 메트릭 뷰에서 차원 또는 이전에 정의된 차원을 정의하는 원본 데이터의 SQL 식입니다.

비고

버전 1.1부터 각 차원에 대한 의미 체계 메타데이터(표시 이름, 형식 및 동의어)를 정의할 수도 있습니다. 자세한 내용은 메트릭 뷰에서 의미 체계 메타데이터 사용을 참조하세요 .

조치

측정값은 미리 결정된 집계 수준 없이 결과를 생성하는 식 배열로 정의된 열입니다. 집계 함수를 사용하여 표현해야 합니다. 쿼리에서 측정값을 참조하려면 함수를 MEASURE 사용해야 합니다. 측정값은 원본 데이터 또는 이전에 정의된 차원의 기본 필드를 참조할 수 있습니다. 각 측정값은 다음 구성 요소로 구성됩니다.

  • name: 측정값의 별칭입니다.

  • expr: SQL 집계 함수를 포함할 수 있는 집계 SQL 식입니다.

다음 예제에서는 일반적인 측정값 패턴을 보여 줍니다.

measures:
  # Simple count measure
  - name: Order Count
    expr: COUNT(1)

  # Sum aggregation measure
  - name: Total Revenue
    expr: SUM(o_totalprice)

  # Distinct count measure
  - name: Unique Customers
    expr: COUNT(DISTINCT o_custkey)

  # Calculated measure combining multiple aggregations
  - name: Average Order Value
    expr: SUM(o_totalprice) / COUNT(DISTINCT o_orderkey)

  # Filtered measure with WHERE condition
  - name: High Priority Order Revenue
    expr: SUM(o_totalprice) FILTER (WHERE o_orderpriority = '1-URGENT')

  # Measure using a dimension
  - name: Average Revenue per Month
    expr: SUM(o_totalprice) / COUNT(DISTINCT DATE_TRUNC('MONTH', o_orderdate))

집계 함수 목록은 참조하세요.

집계 함수 measure 참조하세요.

비고

버전 1.1부터 각 측정값에 대한 의미 체계 메타데이터(표시 이름, 형식 및 동의어)를 정의할 수도 있습니다. 자세한 내용은 메트릭 뷰에서 의미 체계 메타데이터 사용을 참조하세요 .

필터 적용

메트릭 뷰의 YAML 정의에 있는 필터는 메트릭 뷰를 참조하는 모든 쿼리에 적용됩니다. SQL 부울 식으로 작성해야 하며 이는 SQL 쿼리에서 WHERE 절을 사용하는 것과 동일합니다.

다음 예제에서는 일반적인 필터 패턴을 보여 줍니다.

# Single condition filter
filter: o_orderdate > '2024-01-01'

# Multiple conditions with AND
filter: o_orderdate > '2024-01-01' AND o_orderstatus = 'F'

# Multiple conditions with OR
filter: o_orderpriority = '1-URGENT' OR o_orderpriority = '2-HIGH'

# Complex filter with IN clause
filter: o_orderstatus IN ('F', 'P') AND o_orderdate >= '2024-01-01'

# Filter with NOT
filter: o_orderstatus != 'O' AND o_totalprice > 1000.00

# Filter with LIKE pattern matching
filter: o_comment LIKE '%express%' AND o_orderdate > '2024-01-01'

메트릭 뷰를 쿼리하거나 사용할 때 필터를 추가할 수도 있습니다.

고급 모델링 기능

메트릭 뷰 모델링은 정교하고 재사용 가능한 메트릭을 만드는 고급 기술을 지원합니다.

Joins

조인을 사용하면 관련 테이블의 설명 특성을 사용하여 메트릭 보기를 보강할 수 있습니다. 조인을 사용하여 팩트 테이블에서 차원 테이블(별모양 스키마)으로 관계를 모델링하고 차원에서 하위 차원으로 트래버스하여 정규화된 차원 테이블(눈송이 스키마)에서 다중 홉 조인을 수행할 수 있습니다.

메트릭 보기에서 조인 사용을 참조하세요.

창 치수

중요합니다

이 기능은 실험적 기능입니다.

창 측정을 사용하면 메트릭 뷰에서 창 집계, 누적 집계 또는 부분 가산 집계를 통해 측정을 정의할 수 있습니다. 이러한 유형의 측정값을 사용하면 이동 평균, 기간별 변경 내용 및 실행 합계와 같은 더 복잡한 계산이 가능합니다. 메트릭 뷰에서 창 측정값을 사용하는 방법을 보여 주는 예제는 메트릭 뷰의 창 측정값 사용을 참조하세요.

조합성

메트릭 뷰는 구성 가능하므로 이전에 정의된 요소를 참조하여 복잡한 논리를 빌드할 수 있습니다. 새로운 차원에서 이전에 정의된 차원을 참조할 수 있으며, 새로운 측정값에서 차원 또는 이전에 정의된 측정값을 참조할 수 있으며, 메트릭 뷰에 정의된 조인에서 열을 참조할 수 있습니다.

메트릭 뷰의 구성 가능성을 참조하십시오.

의미 체계 메타데이터

의미 체계 메타데이터를 사용하면 도구에서 측정값과 차원을 표시하고 처리하는 방법을 이해할 수 있습니다. 여기에는 다음과 같은 속성이 포함됩니다.

의미 체계 메타데이터 Example
표시 이름 Total Revenue대신 sum_o_price.
표시 형식 통화, 백분율 및 날짜에 대한 서식을 표준화합니다.
코멘트 자연어로 메트릭의 비즈니스 정의를 설명합니다.

의미 체계 메타데이터를 정의하면 메트릭과 함께 이동합니다. 예를 들어 분석가가 대시보드에서 총 수익을 사용하는 경우 자동으로 통화로 표시됩니다.

메트릭 뷰에서 의미 체계 메타데이터 사용을 참조하세요.

YAML 구문 및 서식 지정

메트릭 뷰 정의는 표준 YAML 표기법 구문을 따릅니다. 메트릭 뷰를 정의하는 데 필요한 구문 및 서식에 대한 자세한 내용은 YAML 구문 참조 를 참조하세요. YAML 사양에 대한 자세한 내용은 YAML 사양 1.2.2 설명서를 참조하세요.

창 치수

창 측정값은 정의된 의 값 또는 현재 행과 관련된 행 범위를 계산합니다. 시계열 및 비교 분석에 창 측정값을 사용하여 다음과 같은 메트릭을 정의할 수 있습니다.

  • 롤링 30일 총 수익: 지난 30일 동안의 수익 합계
  • YTD(연초부터 현재까지) 매출: 연초부터 누적 합계
  • 이전 기간 비교: 이전 달의 수익

메트릭 뷰에서 창 측정값 사용을 참조하세요.

메트릭 뷰 모델링 모범 사례

메트릭 뷰를 모델링할 때 다음 지침을 사용합니다.

  • 기본 측정값 모델: 먼저 가장 간단하고 계산이 필요 없는 측정값을 정의합니다(예: SUM(revenue), COUNT(DISTINCT customer_id)). 구성 가능성을 사용하여 AOV와 같은 복잡한 측정값을 작성합니다.
  • 차원 값 표준화: 변환(예: CASE 문 또는 식)을 사용하여 암호화된 데이터베이스 코드를 명확한 비즈니스 이름으로 변환합니다(예: 주문 상태 'O'를 '열기', 'F'를 'Fulfilled'로 변환).
  • 필터를 사용하여 범위 정의: 영구 필터에 대해 의도적으로 지정합니다. 메트릭 뷰에 완료된 주문만 포함되어야 하는 경우 사용자가 불완전한 데이터를 실수로 포함할 수 없도록 메트릭 뷰에서 해당 필터를 정의합니다.
  • 비즈니스 친화적인 이름 사용: 메트릭 이름은 비즈니스 사용자에게 즉시 인식할 수 있어야 합니다(예: 고객 수명 값cltv_agg_measure).
  • 별도의 시간 차원: 세부 수준 및 추세 분석을 모두 지원하기 위해 항상 세분화된 시간 차원(예: 주문 날짜) 및 잘린 시간 차원(예: 주문 월 또는 주문 주)을 포함합니다.