Una forma de hacer que tus proyectos de LookML sean más eficientes y fáciles de mantener es usar el parámetro set
de LookML. El parámetro set
te permite agrupar campos que se repiten a menudo en todo el proyecto dentro del parámetro fields
o en los campos de desglose. Si usas un conjunto para agrupar campos repetidos, creas un único lugar en el modelo donde se puede mantener ese grupo de campos.
En esta página se incluyen los siguientes ejemplos de uso de conjuntos de LookML para que tus proyectos de LookML sean más eficientes y fáciles de mantener:
- Añadir los mismos campos de desglose a varias medidas: define campos de desglose para los detalles que suelen querer ver los usuarios cuando desglosan agregaciones.
- Incluir u omitir un conjunto de campos de una Exploración: personaliza la experiencia de Exploración de los usuarios y simplifica la lista de campos que pueden elegir en el selector de campos.
Ingredientes
- El parámetro
set
de LookML - El parámetro
fields
de LookML (para Exploraciones) - El parámetro
drill_fields
de LookML (para campos) - El parámetro
drill_fields
de LookML (para vistas)
Requisitos previos
Ejemplo: Añadir los mismos campos de desglose a varias medidas
Supongamos que quiere que sus usuarios puedan desglosar la información para ver detalles más específicos de los usuarios en cualquier lugar en el que vean métricas de ventas en Exploraciones, Looks o paneles de control. Para ello, al seleccionar un valor de la medida Recuento en la interfaz de usuario de Exploración, se abre una consulta sobre los campos ID, Ciudad, Estado y País:
Puedes crear un conjunto llamado user_details
que incluya los campos id
, city
, state
y country
, y, a continuación, hacer referencia a ellos en varias medidas para que los usuarios puedan desglosar la información:
set: user_details {
fields: [id, city, state, country]
}
El conjunto user_details
se puede usar para definir un campo de desglose de la medida count
:
measure: count {
type: count
drill_fields: [user_details*]
}
En este ejemplo, la sintaxis [set_name*]
se usa para especificar que los campos de user_details
aparecerán en los resultados de la consulta cuando desgloses la métrica Recuento.
Después, puede reutilizar este conjunto para crear campos de desglose adicionales. Por ejemplo, puede añadir el código LookML drill_fields: [user_details*]
a las medidas order_count
, total_sale_price
y average_sale_price
:
measure: order_count {
view_label: "Orders"
type: count_distinct
description: "Number of orders"
sql: ${order_id} ;;
drill_fields: [user_details*]
}
measure: total_sale_price {
type: sum
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [user_details*]
}
measure: average_sale_price {
type: average
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [user_details*]
}
Al igual que con la medida Recuento, cuando un usuario selecciona un valor para Número de pedidos, Precio de venta total o Precio de venta medio en la interfaz de Exploración, Looker abre una ventana que contiene una consulta sobre los campos ID, Ciudad, Estado y País.
Si quieres cambiar algo de los campos de desglose, como añadir o quitar un campo, solo tienes que actualizar el conjunto user_details
.
También puede hacer referencia a un conjunto en el parámetro drill_fields
de una vista para definir campos de desglose de todas las medidas de esa vista que aún no tengan campos de desglose especificados a nivel de campo.
Ejemplo: incluir u omitir un conjunto de campos de una exploración
Supongamos que quiere simplificar el selector de campos Explorar para los usuarios excluyendo los campos que no son cruciales para ellos.
Por ejemplo, supongamos que tiene una users
vista que contiene información sobre sus clientes, incluidos los campos ID, Nombre, Apellidos, Correo electrónico y Edad, así como campos de ubicación como Ciudad, Provincia, País y Código postal. La vista users
se une a la Exploración orders
:
¿Qué ocurre si quieres excluir los campos Nombre, Apellidos, Correo, Edad y Sexo de la función Explorar para tus usuarios? Puede crear un conjunto llamado user_info
que incluya los campos que quiera excluir del Explorar Pedidos:
El LookML del conjunto user_info
sería el siguiente:
set: user_info {
fields: [first_name, last_name, email, age, gender]
}
Para definir una exploración Pedidos con la etiqueta Pedidos sin datos de usuario, una la vista users
con la exploración orders
. Añade el código LookML fields: [ALL_FIELDS*, -users.user_info*]
a la exploración orders
para incluir todos los campos, excepto los del conjunto user_info
de la vista users
:
explore: orders {
fields: [ALL_FIELDS*, -users.user_info*]
label: "Orders Without User Data"
join: users {
type: left_outer
sql_on: ${orders.user_id} = ${users.id} ;;
relationship: many_to_one
}
}
Como el conjunto user_details
se excluye de la exploración con la sintaxis -users.user_details*
en el parámetro fields
de la exploración orders
, la vista Pedidos de la exploración Pedidos sin datos de usuario omite los campos incluidos en el conjunto users_user.info
del selector de campos de la exploración.
Puedes reutilizar el user_info
para omitir estos campos de la interfaz de Explorar en cualquier otra exploración a la que se una la vista users
. Si quieres cambiar algo del conjunto user_info
, como añadir o quitar un campo, solo tendrías que actualizar el conjunto user_info
.