GSP932
Descripción general
Looker es una plataforma de datos moderna en Google Cloud que te permite analizar y visualizar tus datos de forma interactiva. Puedes usarla para analizar datos en profundidad, integrar estadísticas de diferentes fuentes de datos, crear flujos de trabajo prácticos basados en datos y crear aplicaciones de datos personalizadas.
En este lab, aprenderás a crear y actualizar tablas derivadas de SQL para generar valores dinámicos y abordar múltiples casos de uso.
Actividades
- Crear tablas derivadas de SQL para abordar varios casos de uso
- Actualizar una tabla derivada de SQL para generar valores dinámicos con filtros basados en plantillas con Liquid
- Comprender cómo los usuarios empresariales aprovechan las tablas derivadas de SQL dinámicas para responder preguntas complejas
Requisitos previos
Es necesario tener conocimientos de LookML. Se recomienda completar el curso Comprende LookML en Looker antes de comenzar este lab.
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
-
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.
-
Haz clic en Abrir Looker.
-
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.
-
Haz clic en Acceder.
Después de acceder correctamente, verás la instancia de Looker para este lab.
Tarea 1: Crea una sola tabla derivada de SQL para abordar varios casos de uso
En LookML, puedes crear tablas derivadas con consultas en SQL para definir una tabla derivada en SQL o con consultas de exploración para definir una tabla derivada nativa. A menudo, a los desarrolladores de SQL les resulta más fácil comprender y comenzar a usar las tablas derivadas en Looker si utilizan una tabla derivada de SQL.
En esta tarea, crearás una tabla derivada de SQL llamada user_facts que sea lo suficientemente flexible como para responder varias preguntas sobre el comportamiento del cliente, como las siguientes:
- ¿Cuáles son los ingresos promedio durante el ciclo de vida y el recuento promedio de pedidos durante el ciclo de vida para todos los clientes de cada estado de EE.UU.?
- ¿Cuáles son las fechas del primer y el último pedido de un cliente, además de sus ingresos totales (de todo su ciclo de vida) y su recuento total de pedidos (de todo su ciclo de vida)?
Define una nueva tabla derivada con una consulta en SQL
- Primero, en la parte inferior izquierda de la interfaz de usuario de Looker, haz clic en el botón de activación para ingresar al Modo de desarrollo.
-
Haz clic en la pestaña Desarrollo y, luego, en Ejecutor de SQL.
-
En la ventana Consulta en SQL, agrega la siguiente consulta:
SELECT order_items.user_id AS user_id
,COUNT(distinct order_items.order_id) AS lifetime_order_count
,SUM(order_items.sale_price) AS lifetime_revenue
,MIN(order_items.created_at) AS first_order_date
,MAX(order_items.created_at) AS latest_order_date
FROM cloud-training-demos.looker_ecomm.order_items
GROUP BY user_id
LIMIT 10
En este ejemplo, la consulta deseada selecciona el user_id, cuenta la cantidad de pedidos del ciclo de vida del usuario y, luego, suma los precios como ingresos del ciclo de vida del usuario. También determina los valores mínimo y máximo de la columna created_at como la primera y la última fecha del pedido, respectivamente.
La cláusula GROUP BY se usa para agrupar los resultados por user_id, y la cláusula LIMIT se usa para limitar los resultados, ya que solo necesitas revisar un subconjunto de registros para garantizar que tu consulta funcione correctamente.
- Haz clic en Ejecutar para ver los resultados de la búsqueda.

En este ejemplo, la consulta devuelve el ID del usuario, el recuento de pedidos durante el ciclo de vida, los ingresos generados por el usuario durante el ciclo de vida y las fechas del primer y último pedido.
Ten en cuenta que la cláusula LIMIT se usa para reducir la cantidad de datos que se devuelven durante esta prueba. Quitarás la cláusula LIMIT en un paso posterior cuando crees un nuevo archivo de vista para la tabla derivada de SQL.
Crea un archivo de vista nuevo para la tabla derivada de SQL
-
Haz clic en Configuración (
) junto a Ejecutar (parte superior derecha de la página) y selecciona Agregar al proyecto.
-
En Proyecto, selecciona qwiklabs-ecommerce.
-
En Nombre de la vista, escribe user_facts.
-
Haz clic en Agregar.
Se te redireccionará al IDE de Looker para que revises el archivo de vista recién creado para tu tabla derivada de SQL. Puedes ver que Looker genera automáticamente un archivo de vista para la tabla derivada de SQL en función de la consulta que ingresaste en el Ejecutor de SQL. A continuación, se muestran las primeras 12 líneas del archivo de vista:
view: user_facts {
derived_table: {
sql: SELECT order_items.user_id AS user_id
,COUNT(distinct order_items.order_id) AS lifetime_order_count
,SUM(order_items.sale_price) AS lifetime_revenue
,MIN(order_items.created_at) AS first_order_date
,MAX(order_items.created_at) AS latest_order_date
FROM cloud-training-demos.looker_ecomm.order_items
GROUP BY user_id
LIMIT 10
;;
}
En Looker, tu archivo debería ser similar al siguiente:

Observa que la nueva vista user_facts se creó fuera de la carpeta Vistas. Se recomienda mantener los archivos de vista organizados en el proyecto.
-
Haz clic en la flecha junto a Vistas para ver la lista de vistas.
-
Haz clic en el archivo user_facts.view y arrástralo a la carpeta Vistas.
-
Haz clic en user_facts.view para ver el archivo de vista de la tabla derivada de SQL.
Looker genera automáticamente una dimensión para cada columna en la cláusula SELECT de la consulta en SQL, así como una nueva medición de recuento. En los próximos pasos, modificarás el archivo de vista para quitar la cláusula LIMIT, que ya no es necesaria, ocultarás la nueva medición de recuento y agregarás una clave primaria para la vista.
- Borra la línea de código de
LIMIT 10 del parámetro de SQL.
Como se mencionó antes, Looker genera automáticamente una medición de recuento junto con las dimensiones que se usan en la tabla derivada. A veces, esta medición de recuento generada automáticamente no resulta útil si ya tienes un recuento en otra vista que proporciona el mismo número.
En este ejemplo, la medición de recuento generada automáticamente cuenta los IDs de pedidos, y ya hay un recuento de pedidos en la vista order_items.
Puedes borrar o bien ocultar la medición de recuento con el parámetro hidden: yes. Ocultar la medición es una buena idea si quieres conservarla para la validación en caso de que este recuento sea el mismo que otro.
- En la definición measure: count, agrega una nueva línea antes de
type: count y, luego, inserta lo siguiente:
hidden: yes
Una última práctica recomendada es asegurarse de que la nueva vista tenga una clave primaria.
En este ejemplo, puedes agregar el parámetro primary_key: yes a la dimensión user_id, que es el ID de organización central de esta vista que brinda detalles sobre cada pedido individual.
- En la definición dimension: user_id, agrega una nueva línea antes de
type: number y, luego, inserta lo siguiente:
primary_key: yes
La nueva vista llamada user_facts ya está lista para que crees dimensiones y mediciones nuevas, la unas a la exploración en el archivo del modelo o finalices el flujo de trabajo de Git para enviar tus cambios a producción. Seguirás trabajando en esto en las próximas secciones.
- Haz clic en Guardar cambios. El código actualizado debería parecerse al siguiente ejemplo:
view: user_facts {
derived_table: {
sql: SELECT order_items.user_id AS user_id
,COUNT(distinct order_items.order_id) AS lifetime_order_count
,SUM(order_items.sale_price) AS lifetime_revenue
,MIN(order_items.created_at) AS first_order_date
,MAX(order_items.created_at) AS latest_order_date
FROM cloud-training-demos.looker_ecomm.order_items
GROUP BY user_id
;;
}
measure: count {
hidden: yes
type: count
drill_fields: [detail*]
}
dimension: user_id {
primary_key: yes
type: number
sql: ${TABLE}.user_id ;;
}
En Looker, tu archivo debería ser similar al siguiente:

Confirma los cambios y realiza la implementación en producción
-
Haz clic en Validar LookML y, luego, en Commit Changes & Push.
-
Agrega un mensaje de confirmación y haz clic en Confirmar.
-
Por último, haz clic en Implementar en producción.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear el archivo de vista para la tabla derivada de SQL
Tarea 2: Agrega medidas para responder preguntas comerciales
En esta sección, agregarás dos medidas para responder la pregunta inicial sobre el comportamiento del cliente que te interesaba: ¿Cuáles son el ingreso promedio durante el ciclo de vida y el recuento promedio de pedidos durante el ciclo de vida para todos los clientes de cada estado de EE.UU.?
- En la vista user_facts.view, agrega dos medidas:
average_lifetime_revenue y average_lifetime_order_count, que calculan los ingresos promedio durante el ciclo de vida y el recuento promedio de pedidos durante el ciclo de vida:
measure: average_lifetime_revenue {
type: average
sql: ${TABLE}.lifetime_revenue ;;
}
measure: average_lifetime_order_count {
type: average
sql: ${TABLE}.lifetime_order_count ;;
}
- Haz clic en Guardar cambios. Tu vista debería verse de la siguiente manera:

Une la vista nueva a una exploración
En esta sección, revisarás y probarás la nueva tabla derivada. Primero, la unirás a la definición de la exploración order_items en el archivo del modelo y, luego, usarás la exploración Artículos pedidos para revisar lo que verían los usuarios empresariales si enviaras los cambios a producción.
-
En la misma página, haz clic en el archivo training_ecommerce.model dentro de la carpeta Modelo para modificar su contenido.
-
Busca la definición explore: order_items. Ten en cuenta que ya hay varias uniones definidas, como la de la vista Usuarios.

- En la definición
explore: order_items, arriba de la unión existente para usuarios, especifica lo siguiente para agregar una nueva unión para user_facts:
join: user_facts {
type: left_outer
sql_on: ${order_items.user_id} = ${user_facts.user_id};;
relationship: many_to_one
}
El parámetro sql_on identifica el campo de unión como user_id. El parámetro relationship identifica que posiblemente haya muchas instancias de un user_id en order_items, pero solo una instancia de cada user_id en user_facts, que se organiza como una fila de resumen para cada pedido.
- Haz clic en Guardar cambios. Tu exploración ahora debería incluir lo siguiente:
explore: order_items {
join: user_facts {
type: left_outer
sql_on: ${order_items.user_id} = ${user_facts.user_id};;
relationship: many_to_one
}
join: users {
type: left_outer
sql_on: ${order_items.user_id} = ${users.id} ;;
relationship: many_to_one
}
...
...
...
}
En Looker, tu vista ahora debería verse así:

-
Ahora que uniste la vista a la exploración, navega a la página Exploración de Order Items.
-
En la vista User Facts, selecciona la dimensión User ID y las métricas Average Lifetime Order Count y Average Lifetime Revenue.
-
Establece el límite de filas en 100.
-
Haz clic en Ejecutar. Los resultados deberían parecerse a los siguientes:

-
Ahora, quita la dimensión User ID y agrega la dimensión State de la vista usuarios.
-
Haz clic en la dimensión Country y agrégale un filtro.
-
Selecciona EE.UU.

- Haz clic en Ejecutar para ejecutar la consulta.
Puedes ver cómo las mismas medidas ahora se pueden usar para calcular un valor para los ingresos promedio durante el ciclo de vida y otro para el recuento promedio de pedidos durante el ciclo de vida por usuario y por estado.
- El resultado debe ser similar al siguiente:

- Regresa al archivo de modelo training_ecommerce.
Confirma los cambios y realiza la implementación en producción
-
Haz clic en Validar LookML y, luego, en Commit Changes & Push.
-
Agrega un mensaje de confirmación y haz clic en Confirmar.
-
Por último, haz clic en Implementar en producción.
Haz clic en Revisar mi progreso para verificar el objetivo.
Agregar medidas para responder preguntas comerciales
Tarea 3: Actualiza una tabla derivada de SQL para generar valores dinámicos con filtros basados en plantillas
Como viste en el lab anterior, los filtros basados en plantillas siguen el mismo patrón lógico que los parámetros. Una vez más, la principal diferencia es que los filtros basados en plantillas permiten que los usuarios finales elijan entre varios operadores de filtro. En el caso del tipo de datos numéricos, podría ser “es igual a”, “es mayor que”, “está entre”, etcétera.
En los filtros basados en plantillas, los valores no están hard-coded, sino que los ingresan los usuarios y, luego, se pasan a la consulta en SQL generada. Sin embargo, puedes mostrar un menú desplegable de opciones si especificas una exploración y una dimensión en la definición del filtro.
En esta sección, modificarás la definición de la tabla derivada de SQL de la primera sección para que vuelva a calcular todos los valores según el período que seleccionó un usuario.
-
Regresa a la vista user_facts en el IDE de Looker.
-
Primero, modifica la definición de la tabla derivada de SQL de la siguiente manera para incluir la cláusula condicional WHERE:
derived_table: {
sql: SELECT
order_items.user_id AS user_id
,COUNT(distinct order_items.order_id) AS lifetime_order_count
,SUM(order_items.sale_price) AS lifetime_revenue
,MIN(order_items.created_at) AS first_order_date
,MAX(order_items.created_at) AS latest_order_date
FROM cloud-training-demos.looker_ecomm.order_items
WHERE {% condition select_date %} order_items.created_at {% endcondition %}
GROUP BY user_id;;
}
- A continuación, agrega un filtro nuevo en la definición
derived_table para que los usuarios seleccionen una fecha:
filter: select_date {
type: date
suggest_explore: order_items
suggest_dimension: order_items.created_date
}
Las primeras 18 líneas del archivo de vista ahora deberían ser similares a las siguientes:
view: user_facts {
derived_table: {
sql: SELECT
order_items.user_id AS user_id
,COUNT(distinct order_items.order_id) AS lifetime_order_count
,SUM(order_items.sale_price) AS lifetime_revenue
,MIN(order_items.created_at) AS first_order_date
,MAX(order_items.created_at) AS latest_order_date
FROM cloud-training-demos.looker_ecomm.order_items
WHERE {% condition select_date %} order_items.created_at {% endcondition %}
GROUP BY user_id;;
}
filter: select_date {
type: date
suggest_explore: order_items
suggest_dimension: order_items.created_date
}
- Haz clic en Guardar cambios. Tu archivo ahora debería ser similar al siguiente:

Ahora probarás la tabla derivada de SQL dinámica en la exploración de Order Items repitiendo las consultas de la tarea anterior para ver que los valores cambian cuando se agrega el filtro.
-
Vuelve a la exploración de Order Items.
-
Selecciona las métricas Average Lifetime Order Count y Average Lifetime Revenue en la vista User Facts.
-
Selecciona la dimensión State en la vista Users.
-
Haz clic en el ícono de filtro junto al nuevo Filter-Only Field llamado Select Date en la vista User Facts.
-
Para el primer valor del filtro en la parte superior de la IU, deja seleccionada la opción “corresponde a anteriores”.
-
Para el segundo valor del filtro, selecciona años completos y agrega 1 al cuadro de valor vacío.
-
En la vista Users, agrega un filtro en Country y configúralo como igual a USA.
-
Haz clic en Ejecutar para ver los resultados.
Verás el recuento promedio de pedidos durante el ciclo de vida y los ingresos promedio durante el ciclo de vida para cada estado o país del último año completo.
-
Haz clic en la pestaña SQL para revisar el código SQL.
-
En este punto, puedes experimentar con los valores del filtro y revisar la pestaña SQL para ver cómo el filtro basado en plantillas cambia los valores según corresponda.
-
Regresa a la vista user_facts.
Confirma los cambios y realiza la implementación en producción
-
Haz clic en Validar LookML y, luego, en Commit Changes & Push.
-
Agrega un mensaje de confirmación y haz clic en Confirmar.
-
Por último, haz clic en Implementar en producción.
Haz clic en Revisar mi progreso para verificar el objetivo.
Actualizar una tabla derivada de SQL para generar valores dinámicos con filtros basados en plantillas
¡Felicitaciones!
En este lab, creaste tablas derivadas de SQL para generar valores dinámicos con filtros basados en plantillas con Liquid y aprovechaste las tablas derivadas de SQL dinámicas para responder preguntas complejas.
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.
Última actualización del manual: 24 de abril de 2024
Prueba más reciente del lab: 24 de abril de 2024
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.