arrow_back

Cómo solucionar errores comunes de SQL con BigQuery

Unirse Acceder

Cómo solucionar errores comunes de SQL con BigQuery

50 minutos Gratis

GSP408

Labs de autoaprendizaje de Google Cloud

Descripción general

BigQuery es la base de datos de estadísticas de Google de bajo costo, sin operaciones (NoOps) y totalmente administrada. Puede consultar muchos terabytes de datos sin tener que administrar infraestructuras y sin necesitar un administrador de base de datos. BigQuery usa SQL y puede aprovechar el modelo de prepago. Además, le permite enfocarse 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. Usted cuenta con una copia de ese conjunto de datos para este lab y podrá explorar los campos y las filas disponibles para buscar estadísticas.

Este lab lo 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, imagine que trabaja con un analista de datos que se acaba de incorporar a su equipo y que les proporcionaron las consultas a continuación para responder a algunas preguntas sobre su conjunto de datos de comercio electrónico. Use las respuestas para resolver las consultas y obtener así un resultado significativo.

Actividades

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

  • Consultar el conjunto de datos públicos de estadísticas generadas a partir de datos

  • Usar el editor de consultas de BigQuery para solucionar errores comunes de SQL

  • Usar el validador de consultas

  • Solucionar errores de sintaxis y lógica de SQL

Configuración y requisitos

Configuración de Qwiklabs

Antes de hacer clic en el botón Comenzar lab

Lea estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando hace clic en Comenzar lab, indica por cuánto tiempo tendrá a su disposición los recursos de Google Cloud.

Este lab práctico de Qwiklabs le permitirá llevar a cabo las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, le proporciona credenciales temporales nuevas que utilizará para acceder a Google Cloud durante todo el lab.

Qué necesita

Para completar este lab, necesitará lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
  • Tiempo para completar el lab

Nota: Si ya tiene un proyecto o una cuenta personal de Google Cloud, no los use para este lab.

Nota: Si usa un dispositivo con Chrome OS, ejecute este lab en una ventana de incógnito.

Cloud Console

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

Abra BigQuery y fije un proyecto al árbol de recursos

  1. Haga clic en el menú de navegación > BigQuery.

bigquery.png

Se abrirá el cuadro de mensaje "Bienvenido a BigQuery en Cloud Console".

  1. Haga clic en Listo.

  2. Los conjuntos de datos públicos de BigQuery no se muestran de forma predeterminada en la interfaz de usuario web de BigQuery. Para abrir el proyecto de conjuntos de datos públicos, copie data-to-insights.

  3. Haga clic en Agregar datos > Fijar un proyecto > Ingresar el nombre del proyecto, luego pegue el nombre de datos a conocimientos. Haga clic en Fijar.

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

Editor de códigos de BigQuery

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

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

Code-editor.png

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

query_fail.png

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

query_success.png

Determine el número total de clientes que realizaron la confirmación de la compra

En esta sección, debe 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 su sitio web. Su equipo de analistas le proporcionó los datos en la tabla rev_transactions y le entregó consultas de ejemplo para ayudarlo a comenzar el análisis, aunque no sabe con certeza si son correctas.

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

Observe la siguiente consulta y responda 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 muestra resultados, pero ¿está seguro de 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á una forma de sumar sus resultados.

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

En la siguiente consulta, realice una suma para responder la 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 aquí? Se agregó una función de suma, 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 f0f0ea7b466a7b38.png

Perfecto. Los resultados están bien, pero se ven extraños. Aplique solo el filtro "Confirmación de la 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

Haga clic en Revisar mi progreso para verificar la tarea realizada. Determine el número total de clientes que realizaron la confirmación de la compra

Enumere las ciudades con más transacciones en su sitio de comercio electrónico

Solucione problemas relacionados con el orden, los campos calculados y la aplicación de filtros después de la suma

Complete 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

Actualice su 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

Actualice su consulta y cree un nuevo campo calculado para mostrar 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

9bd26d60fb851213.png

Filtre sus resultados totales para mostrar 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

Haga clic en Revisar mi progreso para verificar la tarea realizada. Enumere las ciudades con más transacciones en su sitio de comercio electrónico

Determine el número total de productos en cada categoría

Filtre con valores NULL y descubra cuáles son los productos más vendidos

¿Cuál es el problema en esta consulta?, ¿cómo puede solucionarlo?

#standardSQL
SELECT hits_product_v2ProductName, hits_product_v2ProductCategory
FROM `data-to-insights.ecommerce.rev_transactions`
GROUP BY 1,2

¿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

Actualice la consulta anterior para contar ú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

Notas:

  • (not set) podría indicar que no hay una categoría para ese producto.
  • ${productitem.product.origCatName} es un código frontend para procesar la categoría que puede indicar que la secuencia de comandos de seguimiento de Google Analytics se activa antes de que la página se procese completamente.

Haga clic en Revisar mi progreso para verificar la tarea realizada. Determine el número total de productos en cada categoría

¡Felicitaciones!

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

BigQueryBasicsforDataAnalysts-125x135.png

Finalice su Quest

Este lab de autoaprendizaje forma parte de la Quest de Qwiklabs BigQuery Basics for Data Analysts. Una Quest es una serie de labs relacionados que forman una ruta de aprendizaje. Si completa esta Quest, obtendrá la insignia que se muestra arriba como reconocimiento de su logro. Puede hacer públicas sus insignias y agregar vínculos a ellas en su currículum en línea o en sus cuentas de redes sociales. Inscríbase en una Quest y obtenga un crédito inmediato de finalización si realizó este lab. Vea otras Quests disponibles de Qwiklabs.

Está buscando un lab práctico de desafío para demostrar sus habilidades de BigQuery y validar sus conocimientos? Al completar esta Quest, finalice este lab de desafío adicional para recibir una insignia digital exclusiva de Google Cloud.

Realice su próximo lab

Continúe con el siguiente lab de su Quest, Explore y cree informes con Data Studio.

Consulte otros labs para obtener más información sobre BigQuery:

Próximos pasos/Más información

Google Cloud Training & Certification

Aproveche al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarlo a ponerse en marcha rápidamente y a seguir aprendiendo. Para que pueda realizar nuestros cursos cuando más le convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: según demanda, presenciales y virtuales. Las certificaciones lo ayudan a validar y demostrar sus habilidades y experiencia en las tecnologías de Google Cloud.

Última actualización del manual: 1 de octubre de 2021

Prueba más reciente del lab: 1 de octubre de 2021

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