En esta página, se hace referencia al parámetro
typeque forma parte de una combinación.
typetambién se puede usar como parte de una dimensión, que se describe en la página de documentación Tipos de dimensiones, filtros y parámetros.
typetambién se puede usar como parte de una medida, que se describe en la página de documentación Tipos de medidas.
typetambién se puede usar como parte de un filtro de panel, que se describe en la página de documentación Parámetros del panel.
typetambién se puede usar como parte de un elemento del panel, que se describe en la página de documentación del parámetrotype(para paneles de LookML).
Uso
explore: view_name {
join: view_name_2 {
type: inner
}
}
|
Jerarquía
type |
Valor predeterminado
left_outer
Acepta
Un tipo de combinación (cross, full_outer, inner, left_outer)
Reglas especiales
Cuando usas un type que no sea left_outer, es posible que desees usar always_join para asegurarte de que las filas resultantes incluyan tus restricciones de combinación.
|
Definición
type te permite describir el tipo de combinación que deseas realizar.
Los valores posibles del tipo de combinación se describen en estas secciones de esta página:
left_outer (el valor predeterminado)

El tipo de combinación más común en Looker es left_outer (el motivo de su uso frecuente se describe en la sección Los tipos de combinación left_outer suelen ser los preferidos de esta página). Es posible que lo conozcas de SQL como LEFT JOIN. Cuando usas este type, se incluyen todas las filas de la exploración y se incorporan los datos de la vista combinada, si están disponibles.

full_outer

El tipo de combinación full_outer, que quizás conozcas de SQL como FULL OUTER JOIN, incluye todas las filas de la exploración y la vista combinada, incluso si no hay datos correspondientes de la otra vista.

inner

El tipo de combinación inner, que quizás conozcas de SQL como JOIN o INNER JOIN, solo incluye las filas que tienen registros coincidentes en la exploración y la vista combinada.

cross

El tipo de combinación cross, que quizás conozcas de SQL como CROSS JOIN, rara vez se usa. A veces, es útil para el relleno de ceros o la generación de matrices. Crea una fila para cada combinación de la exploración y la vista combinada.

Ejemplos
Usa un FULL OUTER JOIN para agregar datos de user a tus datos de order, incluso si el usuario no realizó un pedido:
explore: order {
join: user {
sql_on: ${order.user_id} = ${user.id} ;;
type: full_outer
}
}
Usa un INNER JOIN para agregar datos de user a tus datos de event y limita los resultados solo a los eventos que generó un usuario:
explore: event {
join: user {
sql_on: ${event.user_id} = ${user.id} ;;
type: inner
}
}
Usa un CROSS JOIN para generar todas las combinaciones posibles de owner y property:
explore: property {
join: owner {
sql_on: 1 = 1 ;; # this sql_on condition is required in some dialects,
type: cross # but causes problems in other dialects, try adding or
} # removing if you experience problems with cross joins
}
Información importante
Los tipos de combinación left_outer suelen ser los preferidos
Cuando aprenden y usan SQL, muchas personas se enfocan principalmente en JOIN, que técnicamente se conoce como "combinación interna". Por este motivo, se podría suponer que type: inner_join se debe usar en la mayoría de los casos. Sin embargo, Looker suele funcionar mejor con type: left_outer, que es como usar un LEFT JOIN en SQL.
El motivo es que la vista asociada con una exploración (a diferencia de las vistas combinadas en una exploración) suele ser los datos "principales". Por ejemplo, puedes tener una exploración basada en información del evento. Algunos de los eventos pueden ser generados por tu sistema y otros por tus usuarios. Si unes user en event con un JOIN normal, solo podrás ver los eventos que creó un usuario y perderás la visibilidad de los eventos del sistema. Si usas un LEFT JOIN, podrás ver todos los eventos, ya sea que haya un usuario asociado con ellos o no.
Es posible que desees usar always_join si es importante restringir las filas
Cuando Looker genera SQL para una consulta, intenta crear el SQL más limpio posible y solo usará las combinaciones que sean necesarias para los campos que seleccione un usuario. Cuando usas type para definir algo que no sea un LEFT JOIN, es posible que siempre desees que una combinación determinada (o un conjunto de combinaciones) forme parte de la consulta para asegurarte de que las filas resultantes incluyan tus restricciones de combinación. Para lograrlo, usa el always_join parámetro.