El lenguaje de consulta de Google es una forma rápida y poderosa de analizar datos en sus hojas de Google que toma prestados muchos de los patrones utilizados en SQL. Este tutorial lo familiarizará con los conceptos básicos de cómo utilizar consultas para responder preguntas específicas de un conjunto de datos de muestra.
Primero necesitamos algunos datos de muestra para jugar. Usaremos la función de importación para obtener una tabla de datos de población mundial de Wikipedia:
=IMPORTHTML("https://en.wikipedia.org/wiki/List_of_countries_by_population_(United_Nations)", "table", 3)
Esta función encuentra la tercera tabla en la URL anterior, extrae datos de cada celda y los importa a su hoja de Google. ¡Fresco! Pero hagamos una cosa más para facilitar un poco la consulta de estos datos.
Haga clic en cualquier celda con datos para resaltarla, luego presione CMD + A para resaltar toda la tabla. Con toda la tabla resaltada, haga clic en Datos > Rangos con nombre para abrir el panel Rangos con nombre; aparecerá desde la derecha.
Un rango con nombre es un apodo que puedes darle a un grupo de celdas. Llamemos a los nuestros 'países'.
¡Excelente! ¡Ahora estamos listos para comenzar a realizar consultas!
Resalte la celda J1: usaremos esta celda para escribir todas las consultas siguientes:
Muéstrame una copia del conjunto de datos completo:
=QUERY(countries, "select *",1)
Muéstrame solo las columnas Países y Región:
=QUERY(countries, "select B, C",1)
La cláusula WHERE es una excelente manera de comenzar a hacer preguntas más específicas a partir de su conjunto de datos.
Muéstrame países con una población mayor o igual a 100 millones:
=QUERY(countries, "SELECT B, E where E >= 100000000")
Muéstrame países con 'es' en su nombre:
=QUERY(countries, "SELECT B where B contains 'es'")
Muéstrame países sin 'es' en su nombre:
=QUERY(countries, "SELECT B where not B contains 'es'")
Muéstrame los países que comienzan con 'S':
=QUERY(countries, "SELECT B where B STARTS WITH 'S'")
Muéstrame los países que terminan en 's' (recuerda distinguir entre mayúsculas y minúsculas:
=QUERY(countries, "SELECT B where B ENDS WITH 's'")
Muéstrame los países que contienen 'United':
=QUERY(countries, "SELECT B where B CONTAINS 'United'")
¡Seamos aún más específicos agregando la cláusula AND!
Muéstrame todos los países de América que también tienen una población inferior a 100.000 habitantes:
=QUERY(countries, "select B, F WHERE C = 'Americas' AND F <= 100000", 1)
Las cláusulas AND se pueden unir hasta el infinito.
Esta consulta devuelve todos los países de América con poblaciones inferiores a 100.000 y superiores a 10.000:
=QUERY(countries, "select B, F WHERE C = 'Americas' AND F <= 100000 AND F >= 10000", 1)
Quizás una de las primeras cosas que desee hacer al explorar un conjunto de datos sea ver algunas agregaciones simples: los valores máximo, mínimo y promedio en ciertos campos. Encontremos la población máxima, mínima y promedio de 2017 para los países de nuestro conjunto de datos:
=QUERY(countries, "select max(F), min(F), avg(F)", 1)
Eso es genial,
Con una ligera modificación podemos ver las poblaciones máxima, mínima y promedio de cada continente:
=QUERY(countries, "select C, max(F), min (F), avg(F) GROUP by C", 1)
'Contar' y 'Agrupar por' juntos son otra excelente manera de explorar un conjunto de datos. Combinados, le permiten contar elementos en una o más columnas y ver una vista agregada.
Usemos estas dos cláusulas para ver cuántos países de nuestra lista están en cada región:
=QUERY(countries, "SELECT C, count(B) GROUP by C", 1)
Agreguemos la cláusula 'ORDER BY' para mostrarnos una lista de todas las regiones, ordenadas de mayor a menor:
=QUERY(countries, "SELECT C, count(B) GROUP by C ORDER by C asc", 1)
La cláusula 'PIVOT' agregará valores en una sola fila.
Por ejemplo, si queremos mostrar la suma de todas las poblaciones de 2017 por región, podríamos usar:
=QUERY(countries, "SELECT sum(F) pivot C", 1)
También puede analizar sus datos realizando operaciones matemáticas como parte de sus consultas.
Mostremos ahora una lista de países con su población de 2017 como porcentaje de la población mundial total:
=QUERY(countries, "select B, C, (F / 7550262101) * 100", 1)
Nuestros datos porcentuales se ven geniales, pero el encabezado de la columna es muy legible. Podríamos hacer clic en la celda y cambiarle el nombre, pero también podemos establecer el nombre como parte de la consulta agregando un parámetro 'etiqueta':
=QUERY(countries, "select B, C, (F / 7550262101) * 100 Label (F / 7550262101) * 100 'Percentage'", 1)
Documentación del lenguaje de consulta de Google: https://developers.google.com/chart/interactive/docs/querylanguage
Descripción general de la función de consulta de Google Sheets por Coding Is For Losers: https://codingisforlosers.com/google-sheets-query-function/#why