sql_distinct_key

용도

view: view_name {
measure: field_name {
type: sum_distinct
sql_distinct_key: ${my_field_name} ;;
}
}
계층 구조
sql_distinct_key
가능한 필드 유형
측정

결제 가능
SQL 표현식

정의

sql_distinct_key 매개변수는 반복되지 않는 값에 집계를 실행하는 측정 유형, 특히 average_distinct, median_distinct, percentile_distinct, sum_distinct 측정에 사용됩니다. sql_distinct_key는 고유 값을 결정하는 데 사용할 필드를 Looker에 알려줌으로써 팬아웃의 경우 잘못 계산되는 것을 방지합니다.

예를 들어 type: sum_distinctsql_distinct_key 매개변수로 정의된 고유한 값을 기반으로 지정된 필드에 반복되지 않은 값을 더합니다.

다음과 같은 표를 살펴보세요.

주문 항목 ID 주문 ID 주문 배송
1 1 10,000원
2 1 10,000원
3 2 20,000원
4 2 20,000원
5 2 20,000원

이 경우 주문별로 여러 행이 있습니다. order_shipping 열에 type: sum의 간단한 측정값을 추가했다면 수집된 총 배송비가 실제로 30.00이더라도 총 80.00를 얻을 수 있습니다.

 # Will NOT calculate the correct shipping amount
measure: total_shipping {
  type: sum
  sql: ${order_shipping} ;;
}

정확한 결과를 얻으려면 sql_distinct_key 매개변수를 사용하여 Looker에 각 고유 항목 (이 경우에는 각 순 주문)을 식별하는 방법을 설명합니다. 그러면 정확한 30.00 금액이 계산됩니다.

 # Will calculate the correct shipping amount
measure: total_shipping {
  type: sum_distinct
  sql_distinct_key: ${order_id} ;;
  sql: ${order_shipping} ;;
}

sql_distinct_key의 모든 고유한 값은 sql에 상응하는 값 하나만 있어야 합니다. 위 예시는 order_id가 1인 모든 행의 order_shipping가 10.00이고 order_id가 2인 모든 행의 order_shipping가 20.00인 식으로 계속됩니다.