arrow_back

Cómo solucionar errores comunes de SQL con BigQuery

Unirse Acceder
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cómo solucionar errores comunes de SQL con BigQuery

Lab 50 minutos universal_currency_alt No cost show_chart Introductorio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP408

Labs de autoaprendizaje de Google Cloud

Descripción general

BigQuery es la base de datos analítica de bajo costo, no-ops y completamente administrada de Google. Con BigQuery, puedes consultar muchos terabytes de datos sin tener que administrar infraestructuras y sin necesitar un administrador de base de datos. BigQuery usa SQL y puedes aprovechar el modelo de pago por uso. BigQuery te permite enfocarte en el análisis de datos para buscar estadísticas valiosas.

En BigQuery, se cargó un conjunto de datos de comercio electrónico recientemente disponible que incluye millones de registros de Google Analytics para Google Merchandise Store. Tienes una copia de ese conjunto de datos para este lab y explorarás los campos y las filas disponibles para obtener estadísticas.

Este lab te guiará a través de la lógica que tienen las consultas para solucionar problemas mediante actividades dentro del contexto de una situación real. Durante el lab, imagina que trabajas con un analista de datos que se acaba de incorporar a tu equipo y que te proporcionaron las consultas a continuación para responder a algunas preguntas sobre tu conjunto de datos de comercio electrónico. Usa las respuestas para resolver las consultas y obtener así un resultado significativo.

Qué aprenderás

En este lab, aprenderás a realizar las siguientes tareas:

  • Fijar proyectos al árbol de recursos de BigQuery
  • Usar el editor de consultas y el validador de consultas de BigQuery para identificar y solucionar errores de lógica y sintaxis de SQL

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 cronómetro, 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 este 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.
  • 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 su lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

Tarea 1. Fija un proyecto al árbol de recursos de BigQuery

  1. Haz clic en Menú de navegación Ícono del menú de navegación > BigQuery.

Se abrirá el cuadro de mensaje de bienvenida a BigQuery en la consola de Cloud.

Nota: Allí, se proporciona un vínculo para acceder a la guía de inicio rápido y actualizaciones de IU.
  1. Haz clic en Listo.

  2. Los conjuntos de datos públicos de BigQuery no se muestran de forma predeterminada. Para abrir el proyecto de conjuntos de datos públicos, copia data-to-insights.

  3. Haz clic en + Agregar > Destaca un proyecto por nombre y, luego, pega el nombre data-to-insights.

  4. Haz clic en Destacar.

El proyecto data-to-insights aparecerá en la sección Explorador.

Editor de consultas y validador de consultas de BigQuery

En las actividades de las siguientes secciones, deberás solucionar problemas de consultas con errores comunes. El lab te indicará qué debes mirar y te sugerirá cómo corregir la sintaxis y devolver resultados significativos.

Para continuar con la solución de problemas y las sugerencias, copia y pega la consulta en el editor de consultas de BigQuery. Si hay algún error, verás un signo de exclamación rojo en la línea que contiene el error y en el validador de consultas (esquina inferior).

Editor de consultas de BigQuery

Si ejecutas la consulta con errores, fallará y se especificará el error en la información del trabajo.

Cuadro de información de consulta con errores

Si la consulta no tiene errores, verás una marca de verificación verde en el validador de consultas. Cuando veas esa marca, haz clic en Ejecutar para ejecutar la consulta y ver los resultados que arroja.

Marca de verificación verde en el validador de consultas

Nota: Para obtener información sobre sintaxis, consulta Sintaxis de consultas en SQL estándar.

Tarea 2. Determina el número total de clientes que realizaron la confirmación de compra

En esta sección, debes diseñar una consulta que muestre el número de visitantes únicos que realizaron con éxito el proceso de confirmación de la compra en tu sitio web. Tu equipo de analistas te proporcionó los datos en la tabla rev_transactions y te entregó consultas de ejemplo para ayudarte a comenzar el análisis, aunque no sabes con certeza si son correctas.

Soluciona problemas en consultas que contienen errores relacionados con el validador de consultas, comas y alias

  • Observa la siguiente consulta y responde la pregunta:
#standardSQL SELECT FROM `data-to-inghts.ecommerce.rev_transactions` LIMIT 1000

  • ¿Qué ocurre con esta consulta actualizada?
#standardSQL SELECT * FROM [data-to-insights:ecommerce.rev_transactions] LIMIT 1000

  • ¿Qué ocurre con esta consulta que usa SQL estándar?
#standardSQL SELECT FROM `data-to-insights.ecommerce.rev_transactions`

  • ¿Qué ocurre ahora? Esta consulta tiene una columna:
#standardSQL SELECT fullVisitorId FROM `data-to-insights.ecommerce.rev_transactions`

  • ¿Qué ocurre ahora? La siguiente consulta tiene un título de página:
#standardSQL SELECT fullVisitorId hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000

  • ¿Qué ocurre ahora? Se corrigió la coma que faltaba.
#standardSQL SELECT fullVisitorId , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000

Respuesta: Esta consulta devuelve resultados, pero ¿seguro que los visitantes no se cuentan dos veces? Además, al mostrar solo una fila, se responde la pregunta de cuántos visitantes únicos realizaron la confirmación de la compra. En la siguiente sección, descubrirás una forma de agregar tus resultados.

Soluciona problemas en consultas que contienen errores de lógica, sentencias de GROUP BY y filtros comodines

  • Agrega la siguiente consulta para responder a esta pregunta: ¿Cuántos visitantes únicos realizaron la confirmación de la compra?
#standardSQL SELECT fullVisitorId , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` LIMIT 1000
  • ¿Qué sucede con esto? Se colocó una función de agregación, COUNT():
#standardSQL SELECT COUNT(fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions`

  • En la próxima consulta, se agregaron las instrucciones GROUP BY y DISTINCT:
#standardSQL SELECT COUNT(DISTINCT fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY hits_page_pageTitle

Resultados Tabla de resultados

Perfecto. Los resultados están bien, pero se ven extraños.

  • Aplica solo el filtro “Confirmación de compra” en los resultados:
#standardSQL SELECT COUNT(DISTINCT fullVisitorId) AS visitor_count , hits_page_pageTitle FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_page_pageTitle = "Checkout Confirmation" GROUP BY hits_page_pageTitle

Haz clic en Revisar mi progreso para verificar el objetivo. Determinar la cantidad total de clientes que realizaron la confirmación de la compra

Tarea 3. Enumera las ciudades con más transacciones en tu sitio de comercio electrónico

Soluciona problemas relacionados con los pedidos, los campos calculados y la aplicación de filtros después de la agregación

  1. Completa la consulta escrita parcialmente:
SELECT geoNetwork_city, totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY

Solución posible:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city
  1. Actualiza tu consulta anterior para ordenar las ciudades de manera descendente.

Solución posible:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS totals_transactions, COUNT( DISTINCT fullVisitorId) AS distinct_visitors FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city ORDER BY distinct_visitors DESC
  1. Actualiza tu consulta y crea un nuevo campo calculado para devolver el número promedio de productos por pedido en cada ciudad.

Solución posible:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city ORDER BY avg_products_ordered DESC

Resultados

Tabla de resultados

Filtra tus resultados agregados para devolver solo las ciudades con más de 20 avg_products_ordered (20 productos en promedio ordenados).

  • ¿Cuál es el problema en esta consulta?
#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` WHERE avg_products_ordered > 20 GROUP BY geoNetwork_city ORDER BY avg_products_ordered DESC

Solución posible:

#standardSQL SELECT geoNetwork_city, SUM(totals_transactions) AS total_products_ordered, COUNT( DISTINCT fullVisitorId) AS distinct_visitors, SUM(totals_transactions) / COUNT( DISTINCT fullVisitorId) AS avg_products_ordered FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY geoNetwork_city HAVING avg_products_ordered > 20 ORDER BY avg_products_ordered DESC

Haz clic en Revisar mi progreso para verificar el objetivo. Enumerar las ciudades con más transacciones en tu sitio de comercio electrónico

Tarea 4. Determina la cantidad total de productos en cada categoría

Filtra con valores NULL y descubre cuáles son los productos más vendidos

  1. ¿Cuál es el problema en esta consulta? ¿Cómo puedes solucionarlo?
#standardSQL SELECT hits_product_v2ProductName, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` GROUP BY 1,2

  1. ¿Cuál es el problema en esta consulta?
#standardSQL SELECT COUNT(hits_product_v2ProductName) as number_of_products, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_product_v2ProductName IS NOT NULL GROUP BY hits_product_v2ProductCategory ORDER BY number_of_products DESC

  1. Actualiza la consulta anterior para registrar únicamente los productos diferentes en cada categoría.

Solución posible:

#standardSQL SELECT COUNT(DISTINCT hits_product_v2ProductName) as number_of_products, hits_product_v2ProductCategory FROM `data-to-insights.ecommerce.rev_transactions` WHERE hits_product_v2ProductName IS NOT NULL GROUP BY hits_product_v2ProductCategory ORDER BY number_of_products DESC LIMIT 5

Nota:
  • (not set) podría indicar que no hay una categoría para ese producto.
  • ${productitem.product.origCatName} es código de frontend para procesar la categoría, lo que puede indicar que la secuencia de comandos de seguimiento de Google Analytics se activa antes de que la página se procese completamente.
  • Haz clic en Revisar mi progreso para verificar el objetivo. Determinar la cantidad total de productos en cada categoría

    ¡Felicitaciones!

    Pudiste solucionar problemas y corregir consultas incorrectas en SQL estándar de BigQuery. Recuerda usar el validador de consultas para detectar sintaxis incorrecta y analizar objetivamente los resultados de tus consultas, incluso si estas se ejecutan con éxito.

    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: 19 de enero de 2024

    Prueba más reciente del lab: 28 de agosto de 2023

    Copyright 2024 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.