clave_distintiva_sql

Uso

view: view_name {
measure: field_name {
type: suma_distinct
sql_distinct_key: ${my_field_name} ;;
}
}
Jerarquía
sql_distinct_key
Tipos de campos posibles
Medir

Acepta
Una expresión de SQL

Definición

El parámetro sql_distinct_key se usa con tipos de medición que realizan agregaciones en valores no repetidos, específicamente medidas de tipo average_distinct, median_distinct, percentile_distinct y sum_distinct. sql_distinct_key le indica a Looker qué campo usar como base para determinar los valores únicos, lo que evita errores de cálculo en el caso de una fanout.

Por ejemplo, type: sum_distinct suma los valores no repetidos en un campo determinado, según los valores únicos definidos por el parámetro sql_distinct_key.

Considera usar una tabla como la siguiente:

ID de artículo del pedido ID de pedido Envío del pedido
1 1 10,00
2 1 10,00
3 2 20,00
4 2 20,00
5 2 20,00

En este caso, hay varias filas para cada pedido. Si agregó una medida simple de type: sum para la columna order_shipping, obtendrá un total de 80.00, aunque el envío total que se recopiló realmente sea 30.00.

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

Para obtener un resultado preciso, puedes explicarle a Looker cómo debe identificar cada entidad única (en este caso, cada orden único) mediante el parámetro sql_distinct_key. Esto calculará el importe correcto de 30.00:

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

Cada valor único de sql_distinct_key debe tener solo un valor correspondiente en sql. El ejemplo anterior funciona porque todas las filas con un order_id de 1 tienen el mismo order_shipping de 10.00, todas las filas con un order_id de 2 tienen el mismo order_shipping de 20.00, y así sucesivamente.