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

Has definido algunas mediciones en una vista, pero cuando unes esa vista a otra, dejas de ver las mediciones en una exploración. ¿Dónde se implementaron las medidas?

Posibles causas y soluciones

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

Cuando se habilitan las agregaciones simétricas

Las agregaciones simétricas permiten que las medidas de todos los tipos pasen a través de uniones. Sin embargo, esto solo es posible si hay claves primarias definidas en las vistas en ambos lados de una unión. A fin de habilitar las medidas para realizar uniones, debes definir una clave primaria en todas las vistas involucradas.

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

dimension: id {
 type: number
 primary_key: yes
}

Las claves primarias deben tener valores completamente únicos que no sean NULL para los tipos de medición sum y average a fin de 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 no hay un solo campo único en la vista, puedes crear una clave primaria compuesta mediante la concatenación de 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 de 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 están habilitadas las agregaciones simétricas

Algunos dialectos no admiten las agregaciones simétricas, o bien tu desarrollador de Looker las inhabilitó con el parámetro de configuración de LookML symmetric_aggregates: no. Cuando no se puedan usar agregaciones simétricas, Looker solo llevará medidas de tipo count (que se convierten en medidas distintas) a través de una unión de forma predeterminada. Este enfoque también requiere una clave primaria, ya que el recuento distinto usará la clave primaria. De esta manera, se evitan resultados y fanouts imprecisos. Consulta la publicación de Comunidad sobre las funciones agregadas que salieron mal.

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

Soluciones adicionales para tener en cuenta

  • El uso de fields (para uniones) en el nivel de unión. fields te permite especificar qué campos (medidas, dimensiones) de una vista unida aparecerán en una exploración.
  • Elige 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 de forma adecuada el tipo de relación para permitir que Looker calcule valores de medición precisos.