¿Por qué mis medidas no se muestran a través de una unión?

Definiste algunas medidas en una vista, pero cuando unes esa vista a otra, ya no ves las medidas en una exploración. ¿Dónde quedaron las medidas?

Posibles causas y soluciones

Las posibles causas subyacentes pueden depender de si tienes habilitados los agregados simétricos. Los agregados simétricos se habilitan automáticamente, a menos que tu desarrollador los haya inhabilitado con el parámetro de configuración de LookML symmetric_aggregates: no o si tu dialecto de base de datos no admite agregados simétricos.

Cuando se habilitan las agregaciones simétricas

Los agregados simétricos permiten que las medidas de todos los tipos se transfieran a través de las uniones. Sin embargo, esto solo es posible si hay claves primarias definidas en las vistas de ambos lados de una unión. Para permitir que las medidas se propaguen a través de las uniones, debes definir una clave principal en todas las vistas involucradas.

Puedes definir una clave primaria en cada vista agregando primary_key: yes a la definición del campo de clave principal, de la siguiente manera:

dimension: id {
 type: number
 primary_key: yes
}

Las claves primarias deben tener valores completamente únicos y no NULL para los tipos de medidas sum y average para llevar a cabo las uniones. Si tu clave primaria no es única, es posible que recibas un error como el siguiente:

Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum.

Además, si te encuentras en una situación en la que no hay un solo campo único en tu vista, puedes crear una clave primaria compuesta concatenando dos o más campos en SQL para crear una combinación única de valores. Obtén más información para resolver este error en la sección clave primaria no única de la página de prácticas recomendadas de Error: Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum.

Cuando no se habilitan las agregaciones simétricas

Algunos dialectos no admiten agregaciones simétricas, o bien tu desarrollador de Looker inhabilitó las agregaciones simétricas con el parámetro de configuración de LookML symmetric_aggregates: no. Cuando no se pueden usar agregaciones simétricas, Looker solo transportará las medidas de tipo count (que se convierten en medidas de recuento de valores distintos) a través de una unión de forma predeterminada. Este enfoque también requiere una clave primaria, ya que el recuento de valores distintos usará la clave primaria. Esto evita resultados y fanouts imprecisos. Consulta la publicación de Comunidad sobre las funciones de agregación que fallaron.

Hay una lista que muestra qué dialectos admiten agregaciones simétricas en la versión más reciente de Looker.

Otras soluciones que puedes considerar

  • El uso de fields (para uniones) a nivel de la unión fields te permite especificar qué campos (mediciones, dimensiones) de una vista unida aparecen en una exploración.
  • Elegir el parámetro relationship correcto El parámetro relationship le indica a Looker si debe aplicar agregaciones simétricas cuando la unión se usa en una consulta en SQL. Es importante definir correctamente el tipo de relación para permitir que Looker calcule valores de medidas precisos.