Supongamos que tienes muchos usuarios que comparten una exploración, pero que tienen casos prácticos diferentes en función de su equipo o región. Cada usuario quiere ver solo los campos que se aplican a sus casos prácticos específicos. Para satisfacer las diversas necesidades de tus usuarios, puedes usar refinamientos de LookML para personalizar las vistas y las Exploraciones sin tener que modificar el LookML original. Después, puedes incluir estas vistas y Exploraciones refinadas en archivos de modelo independientes y específicos que se adapten a las diferentes necesidades de tus usuarios.
En esta página se ofrece un ejemplo de cómo usar los refinamientos de LookML para personalizar una sola vista base y crear Exploraciones distintas para dos equipos diferentes de su empresa. También incluye ejemplos de cómo ocultar y añadir campos en contenido refinado.
Ingredientes
- Vistas de LookML
- Explores de LookML
- Archivos de modelo de LookML
- Refinamientos de LookML
- Archivos LookML genéricos para alojar los refinamientos
- Parámetro
include
de LookML - El parámetro
hidden
de LookML (para campos) - Opcionalmente, acceso al modelo a modelos específicos para los lectores, configurado por un administrador de Looker
Requisitos previos
- Un modelo de LookML configurado
- Permisos para desarrollar LookML
- Tener experiencia en el desarrollo de modelos en LookML, incluidos conceptos más avanzados como refinamientos y extensiones
Ejemplo: Crear varios desgloses personalizados a partir de la misma vista base
Supongamos que tiene una exploración Ventas que contiene datos sobre clientes, compras, envíos y ubicación. Los equipos de marketing y logística de tu empresa deben consultar estos datos, pero cada uno se centra en campos diferentes de la exploración Ventas.
Quieres mostrar solo los campos que sean útiles para cada equipo en el selector de campos de Exploración para facilitar la exploración. Para ello, puedes definir dos refinamientos diferentes de la exploración Ventas y de la vista 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 los envíos y la ubicación. También puedes añadir campos nuevos a cada vista refinada que sean específicos para 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 Usuarios combinada:
Puede acotar la sales
vista para crear dos Exploraciones independientes que contengan solo los campos que interesan a los equipos de Marketing y Logística. Para ello, siga estos pasos:
Crea un archivo LookML, en este ejemplo, un archivo llamado
base_analysis.lkml
, que contenga el LookML de la exploración Ventas, que se basa en la vistasales
y en la vistausers
combinada. Como quieres usar la exploraciónsales
base y sus vistas correspondientes para crear una exploración personalizada para cada equipo, puedes definir todos los campos y propiedades compartidos en una sola ubicación, como en 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 independientes para incluir las acotaciones de la exploración Ventas que definirás para cada equipo. Puedes nombrar los archivos
marketing_analysis.lkml
ylogistics_analysis.lkml
. El código LookML que se muestra a continuación perfecciona la exploraciónsales
base definida en el archivobase_analysis.lkml
, que se ha mostrado anteriormente, para añadir la etiqueta Análisis de ventas del equipo de marketing en un nuevo archivo llamadomarketing_analysis.lkml
. La instruccióninclude: "/base/base_analysis.lkml"
hace que el contenido del archivobase_analysis.lkml
esté disponible para hacer referencia a él 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 independiente para cada equipo, como
ecommerce_marketing.model
yecommerce_logistics.model
. Al alojar los diferentes refinamientos en modelos específicos independientes para cada equipo, puede refinar el mismo conjunto de vistas y exploraciones varias veces sin sobrescribir las personalizaciones que haya hecho para el caso práctico de un equipo. Para obtener más información, consulta la página de documentación Refinamientos de LookML.Con el parámetro
include
, incluyemarketing_analysis.lkml
en el modeloecommerce_marketing.model
ylogistics_analysis.lkml
en el modeloecommerce_logistics.model
.Añade los ajustes que quieras a los archivos
marketing_analysis.lkml
ylogistics_analysis.lkml
. Por ejemplo, puedes ocultar campos innecesarios y añadir campos nuevos a las Exploraciones perfeccionadas de cada equipo.
Si quieres, un administrador de Looker puede configurar el acceso al modelo de cada modelo específico para proporcionar a determinados equipos acceso a nivel de Exploración.
Ocultar los campos innecesarios de las exploraciones refinadas
Puede refinar la vista sales
en el archivo marketing_analysis.lkml
para ocultar los grupos de dimensiones Devuelto, Enviado, Entregado y Creado, 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
}
}
Del mismo modo, puede usar el siguiente LookML en el archivo logistics_analysis.lkml
para ocultar los campos que no necesita el equipo de logística (como Beneficio, Precio de venta y Precio de venta medio):
# 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
}
}
Como 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 añadir un filtro a la vista combinada users
del 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
}
}
Añadir campos nuevos a las Exploraciones refinadas
También puede crear campos nuevos que sean de interés para el equipo de marketing en la vista sales
refinada. Por ejemplo, puede añadir los campos Precio medio de venta, Precio total de venta y Gasto medio por usuario en la vista sales
refinada:
Puedes usar el siguiente LookML para añadir estos campos a la vista sales
del 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 has creado contendrá los nuevos campos en la vista Ventas, además de los campos de la vista Usuarios combinada. 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, en el caso del equipo de logística, puedes crear campos que le resulten útiles, como Tiempos de envío y Tiempo de envío medio:
Puedes usar el siguiente LookML para añadir estos campos a la vista sales
del 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 logística que has creado contendrá los nuevos campos en la vista Ventas, además de los campos de la vista Usuarios combinada. Los campos Beneficio, Precio de venta y Precio de venta medio de la vista Ventas, así como los campos Edad, Correo, Nombre, Apellidos y Creado de la sección Explorar Usuarios, están ocultos porque el equipo de Logística no los necesita.
Ahora, cada equipo tiene una exploración más adaptada a sus necesidades específicas. Aunque este enfoque requiere un poco más de configuración inicial, al mantener los datos principales en un mismo lugar, te resultará más fácil encontrarlos y usarlos.