Modulariza el código de LookML con extensiones

Lab 1 hora universal_currency_alt Sin costo show_chart Intermedio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.

GSP936

Logotipo de los labs de autoaprendizaje de Google Cloud

Descripción general

Looker es una plataforma de datos moderna en Google Cloud que puedes usar para analizar y visualizar tus datos de forma interactiva. Los desarrolladores de LookML seleccionan los datos que utilizan los usuarios empresariales por medio de la creación de nuevos campos, tablas, vistas y exploraciones para personalizar y organizar los datos.

En este lab, aprenderás a modularizar el código de LookML extendiendo vistas y exploraciones.

Requisitos previos

Es necesario tener conocimientos de LookML. Te recomendamos que completes Información sobre LookML en Looker antes de comenzar este lab.

Qué aprenderás

  • Describir cómo las extensiones permiten modularizar y reutilizar fácilmente el código de LookML
  • Extender una vista integrando columnas definidas en otra vista
  • Extender una exploración integrando joins definidos en otra exploración

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana de navegador privada o de incógnito para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar tu lab y acceder a Looker

  1. Cuando tengas todo listo, haz clic en Comenzar lab.

    Aparecerá el panel Detalles del lab con las credenciales temporales que debes usar para este lab.

    Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago.

    Observa tus credenciales del lab en el panel Detalles del lab. Las usarás para acceder a la instancia de Looker de este lab.

    Nota: Si usas otras credenciales, recibirás errores o incurrirás en cargos.
  2. Haz clic en Abrir Looker.

  3. Ingresa el nombre de usuario y la contraseña que se proporcionaron en los campos Correo electrónico y Contraseña.

    Nombre de usuario:

    {{{looker.developer_username | Username}}}

    Contraseña:

    {{{looker.developer_password | Password}}} Importante: Debes usar las credenciales del panel Detalles del lab en esta página. No uses tus credenciales de Google Cloud Skills Boost. Si tienes una cuenta personal de Looker, no la uses para este lab.
  4. Haz clic en Acceder.

    Después de acceder correctamente, verás la instancia de Looker para este lab.

¿Qué son las extensiones de LookML?

Las extensiones te permiten modularizar el código creando copias de objetos de LookML que luego se pueden integrar con otros objetos de LookML y modificar de forma independiente del objeto original. En Looker, puedes extender vistas, exploraciones y paneles definidos con LookML. Con la modularización del código, las extensiones te permiten tratar fragmentos de código como módulos o unidades que puedes usar como base para expandir tu modelo.

¿Por qué usar extensiones?

Los motivos que se dan son: escribir código en DRY, facilitar o acelerar la realización de cambios, coherencia y facilitar la administración de diferentes conjuntos de campos

Las extensiones te ayudan a escribir código en DRY (No te repitas [Don’t Repeat Yourself]). Si copias objetos y secciones de código preexistentes, puedes agregar o modificar la lógica con mayor facilidad. Esto es fundamental para escalar tu modelo a medida que tu organización y tus casos de uso se expanden. También maximiza la coherencia en tu modelo, ya que no debes reescribir código manualmente todo el tiempo. Además, facilita la administración del acceso a los campos para diferentes grupos de usuarios, lo que también es importante para la escalabilidad.

Extensiones de vistas de LookML

Como se mencionó anteriormente, un objeto que puedes extender son las vistas de LookML. Esto se suele hacer para agregar más campos o actualizar la lógica de los campos existentes. Otro caso de uso es cambiar la tabla de la base de datos especificada en el parámetro sql_table_name.

Diagramas de flujo en los que se describe cómo agregar campos a una vista y cambiar la tabla de una vista

Extensiones de exploraciones de LookML

Otro objeto que puedes extender son las exploraciones. Es posible que tengas varias tablas que siempre deben unirse, especialmente en una arquitectura de base de datos más normalizada. Para evitar reescribir los mismos joins repetidamente, puedes crear una exploración “base” que ya las una y, luego, extenderla para crear exploraciones adicionales que necesiten unirse a más vistas. O bien, quizás necesites el mismo conjunto de vistas unidas, pero con la nueva exploración que comienza desde una vista base diferente.

Diagramas de flujo en los que se describe cómo agregar vistas a una exploración y cómo cambiar la vista base de una exploración

Los cuatro pasos que implica la ejecución de extensiones

Los pasos incluyen copiar, combinar, resolver conflictos y finalizar

El “tras bambalinas” de una exploración:

  1. Looker hace una copia del objeto de LookML que se extenderá.
  2. La copia, o el objeto de extensión, se combina con las definiciones nuevas o modificadas.
  3. Si se detectan conflictos (lo que sucede si modificaste las definiciones), el objeto de extensión toma el control.
  4. El objeto de extensión se puede usar en tu modelo de LookML como cualquier otro objeto.
Nota: Aunque la implementación de extensiones es un proceso sencillo, conocer estos detalles es útil si te encuentras con un comportamiento inesperado.

Tarea 1: Extiende una vista para agregar columnas de otra vista

En lugar de copiar y pegar el mismo código en varias vistas, puedes crear una vista centralizada que contenga definiciones para las dimensiones y mediciones de uso frecuente. Luego, con extensiones, puedes integrar esas dimensiones y mediciones en varias vistas. Puedes usar parámetros específicos para extensiones y, así, identificar la vista desde la que quieres que Looker copie.

Desde una perspectiva empresarial, esto es muy práctico porque puedes tener una base de código centralizada que reutilizan varios equipos que pueden extender el código principal y personalizarlo según sus propias necesidades. El beneficio de abstraer las dimensiones de ubicación es que puedes actualizarlas una vez y, luego, la actualización se propaga a cualquiera de las vistas que se extienden desde esa vista de ubicación.

En esta tarea, crearás una nueva vista que contenga dimensiones de ubicación (p. ej., ciudad o país) que se puedan reutilizar extendiendo otras vistas, como las de usuarios y eventos.

Crea una vista nueva

  1. Haz clic en el botón de activación para ingresar al Modo de desarrollo.

  2. En la pestaña Desarrollo, selecciona el proyecto de LookML qwiklabs-ecommerce.

  3. Haz clic en (+) junto a Navegador de archivos y selecciona Crear vista.

  4. Asígnale el nombre location a la vista, arrástrala a la carpeta views y agrégale el siguiente código:

view: location { extension: required dimension: city { type: string sql: ${TABLE}.city ;; } dimension: state { type: string sql: ${TABLE}.state ;; map_layer_name: us_states } dimension: zip { type: zipcode sql: ${TABLE}.zip ;; } dimension: country { type: string map_layer_name: countries sql: ${TABLE}.country ;; } dimension: latitude { type: number sql: ${TABLE}.latitude ;; } dimension: longitude { type: number sql: ${TABLE}.longitude ;; } }

Este archivo de vista contiene las definiciones de las dimensiones que quieres reutilizar en otras vistas: city, country, latitude, longitude, state y zip.

Observa la línea 2 (extension: required), que significa que esta vista no se puede unir a otras y, por lo tanto, no será visible para los usuarios. Para usar esta vista, debes integrarla en otra con el parámetro extends, lo que harás en la siguiente sección.

También ten en cuenta que, a diferencia de otras vistas, no es necesario incluir el parámetro sql_table_name en la definición de la vista para identificar qué tabla se debe usar para los datos. En cambio, esta vista usará la tabla especificada en la vista que se extenderá en la siguiente sección.

  1. Haz clic en Guardar cambios y, luego, en Validar LookML.
    No se encontraron errores de LookML, y tu archivo debería ser similar a lo siguiente:

El archivo location.view abierto y actualizado, que incluye 31 líneas de código

Agrega extensiones

  1. Abre el archivo users.view.

  2. En una nueva línea en la parte superior del archivo (línea 1), agrega el siguiente código, que indica que la vista de usuarios se extenderá con la vista de ubicación:

include: location.view
  1. En la línea 3, arriba de sql_table_name, agrega el siguiente código:
extends: [location] Nota: Dado que se agregaron las extensiones, el parámetro sql_table_name identifica qué tabla usar como fuente de datos para los objetos existentes en el archivo y los objetos que se agregan desde ubicaciones geográficas a través de la extensión.
  1. Quita las definiciones de dimensión existentes para city, country, latitude, longitude, state y zip (este es el orden existente en el archivo). En lugar de definirse de forma explícita en el archivo users.view, estas dimensiones se integran a través de la extensión de location.view.

  2. Haz clic en Guardar cambios y, luego, en Validar LookML.

  3. Abre el archivo event.view.

  4. En una nueva línea en la parte superior del archivo (línea 1), agrega el siguiente código:

include: location.view
  1. En la línea 3, arriba de sql_table_name, agrega el siguiente código:
extends: [location]
  1. Como hiciste con la vista de usuarios, quita las definiciones de dimensión existentes para city, country, latitude, longitude, state y zip.

  2. Haz clic en Guardar cambios y, luego, en Validar LookML.

Tu archivo ahora debería ser similar a lo siguiente:

El archivo events.view actualizado abierto, que incluye 25 líneas de código

Prueba la vista extendida para usuarios y eventos en la exploración de artículos de pedido

  1. Ve a la página Exploración de Order Items.

  2. En la vista Users, selecciona las dimensiones City, Country, Latitude, Longitude, State y Zip.

  3. Haz clic en Ejecutar.

Aunque quitaste las definiciones de estas dimensiones (ciudad, país, latitud, longitud, estado y código postal) del archivo users.view, puedes verlas y usarlas porque se agregaron al archivo users.view con una extensión del archivo location.view.

La visualización de la exploración de artículos de pedido muestra las columnas de los archivos users.view y location.view

  1. Ve a la exploración de eventos.

  2. En la vista Events, selecciona las dimensiones City, Country, Latitude, Longitude, State y Zip.

La visualización de la exploración de artículos de pedido muestra las dimensiones del archivo events.view

De nuevo, aunque quitaste las definiciones de estas dimensiones del archivo events.view, puedes verlas y usarlas porque se agregaron al archivo events.view con una extensión.

  1. Regresa al archivo events.view en el IDE de Looker.

Confirma los cambios y realiza la implementación en producción

  1. Haz clic en Validar LookML y, luego, en Commit Changes & Push.

  2. Agrega un mensaje de confirmación y haz clic en Confirmar.

  3. Por último, haz clic en Implementar en producción.

Haz clic en Revisar mi progreso para verificar el objetivo. Extender una vista para agregar columnas de otra vista

Tarea 2: Extiende una exploración para agregar joins de otra exploración

En lugar de copiar y pegar los mismos joins en varias exploraciones en un archivo de modelo, puedes crear una exploración base que contenga los joins más utilizados en tus exploraciones. Luego, puedes usar extensiones para reutilizar esa exploración base y definir y personalizar otras exploraciones definidas en el archivo de modelo.

Un caso de uso empresarial común para esto es crear una exploración principal que se pueda usar para crear otras exploraciones para grupos de usuarios o equipos específicos dentro de tu organización.

En esta sección, crearás una exploración base que contenga joins para todas las vistas que varios equipos empresariales necesitan y, luego, usarás extensiones para reutilizar y personalizar esa exploración base para varios equipos.

  1. Regresa al archivo training_ecommerce.model.

  2. Después de la definición de la exploración order_items (alrededor de la línea 43), crea una nueva exploración base llamada base_events con el siguiente código:

explore: base_events { extension: required join: event_session_facts { type: left_outer sql_on: ${events.session_id} = ${event_session_facts.session_id} ;; relationship: many_to_one } join: users { type: left_outer sql_on: ${events.user_id} = ${users.id} ;; relationship: many_to_one } }

Observa de nuevo la línea extension: required, que significa que esta exploración no es visible para los usuarios. Tu archivo debería ser similar a lo siguiente:

El archivo training.ecommerce.model abierto con las líneas agregadas del código de la exploración base_events destacadas

A continuación, modificarás la definición existente de la exploración events para extenderla con las vistas de base_events.

  1. En la exploración events, quita los joins existentes para event_session_facts y users.

Estas vistas unidas se integrarán desde la exploración base_events a través del código que se agregará en el siguiente paso. Ten en cuenta que la definición de join para event_session_funnel permanece para personalizar esta exploración para un conjunto particular de usuarios. Tu archivo debería ser similar a lo siguiente:

El archivo training.ecommerce.model abierto con las líneas actualizadas (de la 43 a la 56) destacadas

  1. Debajo de la primera línea de la definición de la exploración events, agrega el siguiente código:
description: "Start here for Event analysis" fields: [ALL_FIELDS*] from: events view_name: events extends: [base_events] Nota: Las líneas nuevas proporcionan una descripción para el botón de información de la exploración, identifican qué campos de qué archivo de vista se deben incluir (todos los campos) y especifican qué exploración se usa para extender la exploración events.

Tu definición final para la exploración events debería ser similar a la siguiente:

El archivo training.ecommerce.model con las líneas de la exploración de eventos actualizadas

Nota: Tanto from como view_name apuntan a la vista de eventos, así que ¿por qué incluir ambos? El parámetro from garantiza que se use la vista original llamada events (no un alias de la vista ni una vista extendida), y view_name es el nombre del archivo de vista, que podría ser un alias, etcétera.
  1. Debajo de la definición modificada de la exploración events, usa el siguiente código para agregar una nueva exploración llamada conversions:
explore: conversions { description: "Start here for Conversion Analysis" fields: [ALL_FIELDS*, -order_items.total_revenue_from_completed_orders] from: events view_name: events extends: [base_events] join: order_items { type: left_outer sql_on: ${users.id} = ${order_items.user_id} ;; relationship: many_to_many } }

Las líneas de la 2 a la 6 proporcionan una descripción para el botón de información de la exploración, identifican qué campos de qué archivo de vista se deben incluir (todos los campos excepto la medición total_revenue_from_completed_orders en la vista de artículos de pedido) y especifican qué exploración se usa para extender esta exploración (es decir, la misma exploración base_events que se usó para extender la exploración events).

  1. Haz clic en Guardar cambios y, luego, en Validar LookML.
    No se encontraron errores de LookML, y tu archivo debería ser similar a lo siguiente:

El archivo training.ecommerce.model con las líneas de código de la exploración de conversiones agregadas

Ahora es el momento de probar tus nuevos exploraciones. Ve a cada exploración (Events y Conversions) y observa qué vistas se incluyen. Como las exploraciones comparten un conjunto principal de vistas, pero se personalizan con vistas adicionales, cada una atiende a un público de usuarios diferente.

  1. Ve a la exploración Events, que contiene las vistas unidas en la exploración base (Events, Event Session Facts, Users) más la vista Event Session Funnel.

En la página de la exploración Events, se muestran Campos personalizados, Event Session Facts, Events Session Funnel, Events y Users en la pestaña Todos los campos

  1. Para revisar la descripción, mantén el puntero sobre Información (botón de información) junto a Events.

  2. Ve a la exploración Conversions, que contiene las vistas unidas en la exploración base (Events, Event Session Facts, Users) más la vista Order Items.

En la página Conversions, se muestran Campos personalizados, Event Session Facts, Events, Order Items y Users en la pestaña Todos los campos

  1. Para revisar la descripción, mantén el puntero sobre Información (botón de información) junto a Conversions.

  2. Revisa las mediciones en la vista Order Items; total_revenue_from_completed_orders no aparece en la lista.

  3. Regresa al archivo training_ecommerce.model en el IDE de Looker.

Confirma los cambios y realiza la implementación en producción

  1. Haz clic en Validar LookML y, luego, en Commit Changes & Push.

  2. Agrega un mensaje de confirmación y haz clic en Confirmar.

  3. Por último, haz clic en Implementar en producción.

Haz clic en Revisar mi progreso para verificar el objetivo. Extender una exploración para agregar joins de otra exploración

¡Felicitaciones!

En este lab, creaste una nueva vista que contenía dimensiones de ubicación extendiendo la vista de usuarios y eventos, creaste una exploración base que contenía joins para varias vistas y usaste las extensiones para reutilizar y personalizar la exploración base para varios equipos y usuarios.

Próximos pasos y más información

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Actualización más reciente del manual: 22 de abril de 2024

Prueba más reciente del lab: 6 de septiembre de 2023

Copyright 2026 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usa una ventana de navegación privada o de Incógnito para ejecutar el lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.