Imagina que tienes muchos usuarios que comparten una misma exploración, pero que tienen diferentes casos de uso según su equipo o región. Cada usuario quiere ver solo los campos que se aplican a sus casos de uso únicos. Para satisfacer las diversas necesidades de tus usuarios, puedes usar las mejoras de LookML para personalizar las vistas y las exploraciones existentes sin tener que modificar el LookML original. Luego, puedes incluir estas vistas y exploraciones mejor definidas en archivos de modelos separados y dedicados que están personalizados según las necesidades de necesidades diferentes.
En esta página, se proporciona un ejemplo del uso de mejoras en LookML para personalizar una sola vista base y crear exploraciones distintas para dos equipos diferentes dentro de tu empresa. También incluye ejemplos de cómo ocultar y agregar campos en el contenido refinado.
Componentes
- Vistas de LookML
- Exploración de LookML
- Archivos de modelos de LookML
- Refinamientos de LookML
- Archivos genéricos de LookML para definir mejor viviendas
- El parámetro
include
de LookML - El parámetro
hidden
de LookML (para campos) - De manera opcional, acceso a modelos específicos para los usuarios, configurado por un administrador de Looker
Requisitos previos
- Un proyecto configurado de LookML
- Permisos para desarrollar LookML
- Experiencia en el desarrollo de modelos en LookML, incluido el conocimiento de conceptos más avanzados de LookML, como perfeccionamientos y extensiones
Ejemplo: Cómo crear varias exploraciones personalizadas desde la misma vista base
Supongamos que tienes una exploración de Ventas que contiene datos sobre clientes, compras, envíos y ubicación. Los equipos de Marketing y Logística de tu empresa deben explorar estos datos, pero se enfocan en diferentes campos de la exploración de Ventas.
Quieres mostrar solo los campos que son útiles para cada equipo en el selector de campos de Explorar para facilitar la exploración. Para ello, puedes definir dos definiciones diferentes de la exploración Ventas y la vista de sales
en la que se basa. La función Explorar del equipo de Marketing puede mostrar campos relacionados con los clientes y las tendencias de compra, mientras que la función Explorar del equipo de Logística puede mostrar campos relacionados con el envío y la ubicación. También puedes agregar campos nuevos a cada vista mejor definida que sean específicos de las necesidades de cada equipo.
Actualmente, el selector de campos de la exploración Ventas muestra todos los campos de la vista Ventas:
El selector de campos también muestra todos los campos de la vista Users unida:
Puedes definir mejor la vista sales
para crear dos exploraciones independientes que contengan solo los campos que sean de interés para los equipos de Marketing y Logística. Para ello, sigue estos pasos:
Crea un nuevo archivo de LookML, en este ejemplo, un archivo llamado
base_analysis.lkml
, que contenga el LookML para la exploración de Ventas, que se basa en la vistasales
y la vistausers
unida. Como quieres usar la exploración desales
base y sus vistas correspondientes para crear una exploración personalizada para cada equipo, puedes definir todos los campos y las propiedades compartidos en una sola ubicación, por ejemplo, dentro de un solo archivo.# base_analysis.lkml include: "views/sales.view.lkml" include: "views/inventory_items.view.lkml" include: "views/users.view.lkml" explore: sales { join: inventory_items { type: left_outer sql_on: ${sales.inventory_item_id} = ${inventory_items.id} ;; relationship: many_to_one } join: users { type: left_outer sql_on: ${sales.user_id} = ${users.id} ;; relationship: many_to_one } }
Crea dos archivos separados para alojar las mejoras de la exploración de Ventas que definirás para cada equipo. Puedes asignarles los nombres
marketing_analysis.lkml
ylogistics_analysis.lkml
a los archivos. El código de LookML, que se muestra a continuación, perfecciona la exploraciónsales
base como se definió en el archivobase_analysis.lkml
, que se mostró anteriormente, para agregar la etiqueta Sales Analysis for Marketing Team a un archivo nuevo llamadomarketing_analysis.lkml
. La sentenciainclude: "/base/base_analysis.lkml"
hace que el contenido del archivobase_analysis.lkml
esté disponible para referencia en el archivomarketing_analysis.lkml
.# marketing_analysis.lkml include: "/base/base_analysis.lkml" explore: +sales { label: "Sales Analysis for Marketing Team" }
Crea un archivo de modelo separado para cada equipo, como
ecommerce_marketing.model
yecommerce_logistics.model
. Si incluyes las diferentes mejoras en modelos dedicados separados para cada equipo, puedes definir mejor el mismo conjunto de vistas y exploraciones varias veces sin reemplazar las personalizaciones que realizaste para el caso de uso de un equipo. Consulta la página de documentación sobre las mejoras de LookML para obtener más información.Con el parámetro
include
, incluyemarketing_analysis.lkml
en el modeloecommerce_marketing.model
e incluyelogistics_analysis.lkml
dentro del modeloecommerce_logistics.model
.Agrega cualquier perfeccionamiento adicional a los archivos
marketing_analysis.lkml
ylogistics_analysis.lkml
según lo desees. Por ejemplo, puedes ocultar los campos innecesarios y agregar campos nuevos a las exploraciones mejor definidas de cada equipo.
De manera opcional, puedes pedirle a un administrador de Looker que configure el acceso al modelo para cada modelo exclusivo para proporcionar a equipos específicos acceso a nivel de Explorar.
Ocultar campos innecesarios de las Exploraciones refinadas
Puedes definir mejor la vista de sales
de la siguiente manera en el archivo marketing_analysis.lkml
para ocultar los grupos de dimensiones Devueltos, Enviados, Enviados y Creados, así como la dimensión Estado, ya que el equipo de Marketing no utiliza esos campos:
# marketing_analysis.lkml
include: "/base/base_analysis.lkml"
explore: +sales {
label: "Sales Analysis for Marketing Team"
}
view: +sales
dimension_group: returned {
hidden: yes
}
dimension_group: shipped {
hidden: yes
}
dimension_group: delivered {
hidden: yes
}
dimension_group: created {
hidden: yes
}
dimension: status {
hidden: yes
}
}
De manera similar, puedes usar el siguiente LookML en el archivo logistics_analysis.lkml
para ocultar los campos que el equipo de Logística no necesita (como Profit, Sale Price y Average Sale Price):
# logistics_analysis.lkml
include: "/base/base_analysis.lkml"
explore: +sales {
label: "Sales Analysis for Logistics Team"
}
view: +sales {
dimension: profit {
hidden: yes
}
dimension: sale_price {
hidden: yes
}
measure: average_sale_price {
hidden: yes
}
}
Dado que el equipo de Logística no necesita ver información personal sobre los clientes, como sus nombres, edades o direcciones de correo electrónico, también puedes definir mejor la vista de users
unida en el archivo logistics_analysis.lkml
para ocultar estos campos en Explorar:
view: +users {
dimension: age {
hidden: yes
}
dimension: email {
hidden: yes
}
dimension: first_name {
hidden: yes
}
dimension: last_name {
hidden: yes
}
dimension_group: created {
hidden: yes
}
}
Agrega campos nuevos a las exploraciones refinadas
También puedes crear campos nuevos que sean de interés para el equipo de Marketing en la vista mejorada de sales
. Por ejemplo, puedes agregar campos para Precio de venta promedio, Precio de venta total y Inversión promedio por usuario en la vista sales
refinada:
Puedes usar el siguiente LookML para agregar estos campos a la vista sales
mejor definida en el archivo marketing_analysis.lkml
:
# marketing_analysis.lkml
view: +sales {
measure: average_sale_price {
type: average
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [detail*]
}
measure: total_sale_price {
type: sum
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [detail*]
}
measure: average_spend_per_user {
type: number
value_format_name: usd
sql: 1.0 * ${total_sale_price} / NULLIF(${users.count},0) ;;
drill_fields: [detail*]
}
}
La exploración de marketing que creaste contendrá los campos nuevos en la vista Ventas, además de los campos en la vista Usuarios unida. Los grupos de dimensiones Devuelto, Enviado, Entregado y Creado, así como la dimensión Estado, están ocultos porque el equipo de marketing no los necesita.
Del mismo modo, para el equipo de Logística, puedes crear campos nuevos que serán útiles para este equipo, como Shipping Time Buckets y Average Shipping Time:
Puedes usar el siguiente código LookML para agregar estos campos a la vista sales
refinada en el archivo logistics_analysis.lkml
:
# logistics_analysis.lkml
view: +sales {
dimension: shipping_time_buckets {
case: {
when: {
sql: ${shipping_time} <= 7 ;;
label: "One Week"
}
when: {
sql: ${shipping_time} > 7 AND ${shipping_time} <= 14 ;;
label: "Two Weeks"
}
when: {
sql: ${shipping_time} > 14 ;;
label: "Over Two Weeks"
}
else: "Note Shipped"
}
}
measure: average_shipping_time {
type: average
value_format_name: decimal_4
sql: ${shipping_time} ;;
}
}
La exploración de la logística que creaste contendrá los campos nuevos en la vista Ventas, además de los campos en la vista Usuarios unida. Los campos Ganancias, Precio de venta y Precio de venta promedio de la vista Ventas y los campos Edad, Correo electrónico, Nombre, Apellido y Creado de la exploración Usuarios están ocultos, ya que el equipo de Logística no los necesita.
Cada equipo ahora tiene una exploración que se adapta mejor a sus necesidades específicas. Si bien este enfoque implica un poco más de configuración por adelantado, mantener los datos principales en un solo lugar puede facilitar su búsqueda y uso.