Comience a consultar datos con este sencillo lenguaje de consulta

Trabajar con datos se está convirtiendo en una habilidad cada vez más importante en el lugar de trabajo moderno.

Los datos ya no son dominio de analistas e ingenieros de software. Con la tecnología actual, cualquiera puede trabajar con datos para analizar tendencias e informar su toma de decisiones.

Un concepto fundamental cuando se trabaja con datos es 'consultar' un conjunto de datos. Esto es literalmente hacer preguntas sobre un conjunto de datos. Un lenguaje de consulta es un lenguaje de software que proporciona una sintaxis para hacer tales preguntas.

Si no tiene experiencia en la redacción de consultas, pueden parecer un poco intimidantes. Sin embargo, con un poco de práctica, puede dominar los conceptos básicos.

A continuación, le mostramos cómo puede empezar a utilizar Hojas de cálculo de Google.

Lenguaje de consulta de la API de visualización de Google

Es posible que ya esté utilizando Hojas de cálculo de Google para gran parte de su trabajo diario. Quizás esté familiarizado con su uso para generar cuadros y gráficos.

El lenguaje de consulta de la API de visualización de Google es la magia que funciona entre bastidores para hacer esto posible.

¿Pero sabías que puedes acceder a este idioma a través de la QUERY()función? Puede ser una herramienta poderosa para trabajar con grandes hojas de datos.

Hay muchas similitudes entre el lenguaje de consulta y SQL.

En ambos casos, usted define un conjunto de datos de columnas y filas y elige diferentes columnas y filas especificando varios criterios y condiciones.

En este artículo, los datos de ejemplo provendrán de un gran archivo CSV que contiene resultados de fútbol internacional entre 1872 y 2019. Puede descargar los datos de Kaggle.

En una nueva hoja de Google, cargue el archivo CSV. Puede seleccionar todos los datos con Ctrl + A (o Cmd + A en Mac).

Desde la cinta del menú, elija Datos> Rangos con nombre ... y llame al rango seleccionado algo como 'datos'. Esto hará que sea más fácil trabajar con él.

Ahora, está listo para comenzar a consultar los datos. Cree una nueva pestaña en la hoja de cálculo y, en la celda A1, cree una nueva QUERY()fórmula.

Obtén todos los partidos de Inglaterra

Esta primera consulta busca todas las filas en el conjunto de datos donde Inglaterra es el equipo local o el equipo visitante.

La QUERY()fórmula toma al menos dos argumentos. El primero es el rango con nombre, que será el conjunto de datos consultado. El segundo es una cadena que contiene la consulta real.

=QUERY(data, "SELECT * WHERE B = 'England' OR C = 'England'")

Analicemos esto.

SELECT *pide devolver todas las columnas del conjunto de datos. Si solo quisiera las columnas A, B y C, escribiría SELECT A, B, C.

A continuación, incluye un filtro para buscar solo filas donde la columna B o la columna C contienen al equipo 'England'. Asegúrese de utilizar comillas simples para las cadenas dentro de la consulta. Las comillas dobles se utilizan para abrir y cerrar la consulta.

Esta fórmula devuelve todas las filas en las que ha jugado Inglaterra. Si desea buscar otro equipo, simplemente cambie la condición en el filtro.

Cuenta todos los partidos amistosos

A continuación, contemos cuántos partidos amistosos hay en el conjunto de datos.

=QUERY(data, "SELECT COUNT(A) WHERE F = 'Friendly'")

Esto hace uso de la COUNT()función del lenguaje de consulta . Este es un ejemplo de función agregada. Las funciones agregadas resumen muchas filas en una.

Por ejemplo, en este conjunto de datos hay 16.716 filas donde la columna F es igual 'Friendly'. En lugar de devolver todas estas filas, la consulta devuelve una sola fila, que las cuenta.

Otros ejemplos de funciones de agregación incluyen MAX(), MIN()y AVG(). En lugar de devolver todas las filas que coinciden con la consulta, busca sus valores máximo, mínimo y promedio.

Agrupar por torneo

Las funciones agregadas pueden hacer más si usa una GROUP BYdeclaración junto a ellas. Esta consulta averigua cuántos partidos se han jugado por cada tipo de torneo.

=QUERY(data, "SELECT F, COUNT(A) GROUP BY F")

Esta consulta agrupa el conjunto de datos por cada uno de los valores en la columna F. Luego cuenta cuántas filas hay en cada grupo.

Puede utilizar GROUP BYen más de una columna. Por ejemplo, para encontrar cuántos partidos se han jugado en cada país por torneo, utilice la siguiente consulta:

=QUERY(data, "SELECT H, F, COUNT(A) GROUP BY H, F")

Probemos con un filtrado más avanzado.

Obtén todos los partidos de Inglaterra vs Alemania

Puede especificar una lógica de filtro más compleja utilizando las palabras clave ANDy OR. Para facilitar la lectura, puede resultar útil utilizar corchetes alrededor de cada parte del filtro.

Por ejemplo, para encontrar todas las coincidencias entre Inglaterra y Alemania:

=QUERY(data, "SELECT * WHERE (B = 'England' AND C = 'Germany') OR (C = 'England' AND B ='Germany')")

Este filtro tiene dos criterios: uno donde Inglaterra es el equipo local y Alemania está fuera, y el otro viceversa.

El uso de la validación de datos facilita la selección de dos equipos en el conjunto de datos.

Luego, puede escribir una consulta que use los valores de diferentes celdas en su filtro. Recuerde utilizar comillas simples para identificar cadenas dentro de la consulta y comillas dobles para abrir y cerrar diferentes partes de la consulta.

=QUERY(data, "SELECT * WHERE (B = '"&B1&"' AND C = '"&B2&"') OR (C = '"&B1&"' AND B ='"&B2&"')")

Buscando tendencias

Las funciones y los filtros agregados son herramientas poderosas cuando se usan en combinación. Una vez que se sienta cómodo con su funcionamiento, puede comenzar a buscar todo tipo de tendencias interesantes en su conjunto de datos.

Por ejemplo, la consulta siguiente encuentra el promedio de goles por juego, por cada año desde 1900.

=QUERY(data, "SELECT YEAR(A), AVG(D) + AVG(E) WHERE YEAR(A) >= 1900 GROUP BY YEAR(A)")

Si traza el resultado de la consulta como un gráfico de líneas, puede comenzar a ver tendencias inmediatamente a lo largo del tiempo.

Ordenar los resultados

A veces, no le interesa encontrar todas las filas coincidentes en un conjunto de datos. A menudo, querrá ordenarlos de acuerdo con algunos criterios. Quizás solo desee encontrar los diez primeros registros.

Esta consulta encuentra las diez coincidencias con la puntuación más alta en el conjunto de datos.

=QUERY(data, "SELECT * ORDER BY (D+E) DESC LIMIT 10")

Note la ORDER BYdeclaración. Esto ordena las filas según las columnas especificadas. Aquí, la consulta ordena el resultado por el número de goles marcados en el juego.

La DESCpalabra clave indica ordenar en orden descendente (la ASCpalabra clave los habría ordenado en orden ascendente).

Finalmente, la LIMITpalabra clave restringe la salida a un número determinado de filas (en este caso, diez).

¡Parece que ha habido algunos juegos bastante unilaterales en Oceanía!

¿Qué ciudades han albergado más partidos de la Copa del Mundo?

Y ahora, un último ejemplo para unir todo y poner en marcha su imaginación.

Esta consulta busca las diez ciudades principales que han albergado más partidos de la Copa Mundial de la FIFA.

=QUERY(data, "SELECT G, COUNT(A) WHERE F = 'FIFA World Cup' GROUP BY G ORDER BY COUNT(A) DESC LIMIT 10")

Ahora es tu turno

Esperamos que este artículo le haya resultado útil. Si se siente cómodo con la lógica de cada ejemplo, entonces está listo para probar SQL real.

Esto introducirá conceptos como JOINS, consultas anidadas y funciones de WINDOW. Cuando los domine, su poder para manipular datos se disparará.

Hay varios lugares para comenzar a aprender SQL. ¡Pruebe los ejemplos interactivos en w3schools!