Si usas Excel en el trabajo, probablemente estés frustrantemente familiarizado con este cuadro de diálogo:
Probablemente también hayas trabajado en una hoja de cálculo que era dolorosamente lenta de editar, donde cada clic iba acompañado de 10 segundos de tu pantalla congelada y la rueda de la muerte girando.
La culpa la tienen generalmente los archivos grandes o los libros de trabajo llenos de fórmulas. Excel puede manejar hasta un millón de filas, pero cuando se trabaja con un gran conjunto de datos o se hace un análisis pesado -aplicando fórmulas a un montón de celdas, vinculando varias hojas de cálculo o conectando con otros libros- se ralentiza mucho antes de llegar al límite de filas.
Excel tiene otra debilidad que puede conducir a la ineficiencia: su estructura es demasiado flexible. Esto puede parecer una locura: la flexibilidad es una de las razones por las que la gente adora Excel. Dado que cada celda es una entidad propia, tienes mucha libertad para añadir notas a pie de página, fusionar celdas o trazar un patrón de aguja.
Sin embargo, si una celda puede ser manipulada fácilmente, es más difícil confiar en la integridad de la hoja de cálculo en su conjunto. La flexibilidad de Excel hace que sea casi imposible aplicar la coherencia y la precisión en grandes conjuntos de datos. Por muy atento que esté, por muchas veces que revise una hoja de cálculo en busca de errores tipográficos y fórmulas rotas, es posible que se le escape algo.
A menudo hay una herramienta mejor para el trabajo.
- Oh, hey, SQL
- Hoja de cálculo, conoce la base de datos relacional
- El salto de las fórmulas a las consultas
- Libro de trabajo gratuito: The Excel User’s Quick Start Guide to SQL
- Siguientes pasos para aprender SQL
- ¡Estás en camino!
Oh, hey, SQL
Los datos con los que está trabajando en Excel tenían que venir de alguna parte. Ese lugar es una base de datos. Incluso cuando sacas datos de algo que no parece técnico (piensa en Google Analytics, Stripe o Salesforce), detrás de las escenas estás consultando una base de datos.
¿Cuántas visitas web tuvimos en enero? Cuál es nuestra tasa de abandono del embudo de pago para el producto que acabamos de lanzar? Qué representantes de ventas están construyendo más pipeline que otros? Todo esto son consultas, en lenguaje humano, no informático. Como usuario avanzado de Excel, probablemente puede pensar en cómo podría escribir estas preguntas como fórmulas si está armado con el conjunto de datos adecuado.
En cambio, ¿cómo se consulta directamente una base de datos? En la mayoría de los casos, la gente utiliza SQL (abreviatura de Structured Query Language). SQL le dice a una base de datos qué datos quiere ver y manipular con cálculos.
Al trasladar algunos de sus cálculos iniciales a SQL, puede reducir la cantidad de datos que exporta. Y con un conjunto de datos más pequeño, es menos probable que se encuentre con problemas de rendimiento de Excel.
A medida que se sienta más cómodo con SQL, puede mover más y más de su análisis a SQL hasta llegar al punto en que Excel se convierte en la excepción, no la regla. Las bases de datos SQL pueden manejar enormes cantidades de datos sin sufrir problemas de rendimiento y tienen una estructura ordenada que protege la integridad de sus datos.
Aprender un nuevo lenguaje puede parecer desalentador, al igual que utilizar herramientas que simplemente parecen más técnicas. Pero como usuario de Excel, usted ya sabe más sobre SQL de lo que podría esperar.
Hoja de cálculo, conozca la base de datos relacional
Una base de datos es una colección organizada de datos. Hay muchos tipos diferentes de bases de datos, pero el tipo específico de base de datos con el que SQL puede comunicarse se conoce como base de datos relacional.
Al igual que un libro de Excel se compone de hojas de cálculo, una base de datos relacional se compone de tablas, como la de abajo.
Las tablas tienen filas y columnas al igual que una hoja de cálculo, pero en una tabla, no se puede interactuar con cada celda (o «valor», en la terminología de la base de datos) individualmente. Si quieres excluir la ciudad natal de Ralph Abernathy de la fila superior de la tabla anterior, no puedes simplemente borrarla. Tienes que excluir toda la fila o toda la columna «ciudad natal».
La razón por la que no puedes cambiar las celdas sobre la marcha es porque una base de datos tiene una estructura rígida. Los valores de cada fila están atados como una sola unidad. Cada columna debe tener un nombre único y sólo puede contener un tipo específico de datos (‘Entero’, ‘Texto’, ‘Fecha’, etc).
La estructura flexible de Excel puede sonar muy bien ahora mismo, pero espere. Como la estructura de una base de datos es tan estricta, es más fácil proteger la integridad de tus datos. En otras palabras, es mucho menos probable que termines con inconsistencias y errores. Y eso significa que puedes confiar mucho más en tus datos.
El salto de las fórmulas a las consultas
La forma más común de manipular datos en Excel es utilizando fórmulas. Una fórmula consiste en una o varias funciones que indican a Excel qué hacer con los datos de una celda. Por ejemplo, puedes sumar valores numéricos usando SUM(A1:A5)
o promediarlos usando AVERAGE(A1:A5)
.
El equivalente SQL de una fórmula es una consulta. La consulta para devolver la tabla anterior tiene este aspecto:
SELECT player_name, hometown, state, weight FROM benn.college_football_players
SELECT
y FROM
son los dos ingredientes fundamentales de cualquier consulta SQL: SELECT
especifica las columnas de datos que quieres y FROM
indica en qué tabla viven. En realidad, puedes elegir mostrar todas las columnas añadiendo un asterisco (*) después de SELECT
, así:
SELECT * FROM benn.college_football_players
Esta consulta te mostraría todas las columnas de la tabla benn.college_football_players
, para que puedas hacerte una idea de cómo es el conjunto de datos. Una vez que sepa lo que necesita, puede cortar rápidamente las columnas para reducir el tamaño del conjunto de datos.
Al igual que las fórmulas, las consultas se componen de funciones que especifican manipulaciones de datos. Las consultas también pueden contener cláusulas, operadores, expresiones y algunos otros componentes, pero no vamos a entrar en detalles aquí. Lo que necesitas saber es que puedes usar SQL para manipular datos de casi cualquier manera que hagas en Excel.
Toma la función IF
, por ejemplo. Utiliza IF
para crear sentencias condicionales que filtren datos o añadan nuevos datos en función de las reglas que defina. Here’s what an IF
function looks like when you apply it to a cell:
=IF(logical_test, value_if_true, )
You could read that as IF <some condition is met> THEN <display this value> OTHERWISE <display a different value>
. The OTHERWISE
portion, which is shown as , is optional.
The SQL equivalent of IF
is CASE
. They have very similar syntax:
CASE WHEN <condition 1 is met> THEN <display value 1> ELSE <display a different value> END
CASE
statements are considerably easier to read than IF
statements because SQL queries have multiple lines. This structure is ideal for an IF
statement with multiple conditions. For instance, if you want to add two categories based on existing data in Excel, you have to nest one IF statement inside another IF statement. When you add a lot of conditions, things get ugly quickly. Pero en SQL, puede simplemente añadir una nueva condición como otra línea.
En SQL, vamos a añadir múltiples condiciones utilizando los datos de fútbol universitario de arriba. Vamos a añadir una columna que divide los jugadores de fútbol en cuatro grupos de peso. Esta es la consulta:
Y este es el aspecto de la tabla de resultados:
No es muy difícil, ¿verdad? La declaración IF
para esto sería una pesadilla.
Podrías estar pensando, pero ¿qué pasa con los cuadros y gráficos? Qué pasa con los gráficos que hacen que mi informe sea un informe? Una opción es manipular los datos en SQL, exportarlos y construir gráficos en Excel.
Sin embargo, si quiere saltarse el paso de la exportación, algunos programas SQL (como Mode) le permiten construir gráficos sobre los resultados de su consulta. Estos gráficos están vinculados directamente a su base de datos, por lo que cada vez que vuelva a ejecutar una consulta, sus resultados y visualizaciones se actualizan automáticamente.
Mode Analytics
Libro de trabajo gratuito: The Excel User’s Quick Start Guide to SQL
We’ve put together a workbook of six go-to Excel tasks and their SQL counterparts. Each lesson contains an example dataset and detailed instructions. You’ll learn how to do the following Excel functions in SQL:
- Arithmetic
IF
- Filtering
VLOOKUP
-
SUM
COUNT
, andAVG
- Grouped aggregation (pivot tables)
As you gain SQL knowledge, it’s helpful to know where to focus your learning and how to navigate your company’s data.
Pick tutorials geared toward data analysis
There are a lot of SQL resources, but not all of them are focused on data analysis.
Engineers and database administrators use SQL to create, update, and delete tables in databases. They can upload a whole new table or delete one permanently from the database. These are very different tasks from how you’ll use SQL (at least until you fall so in love with data that you make a career switch to analytics).
Don’t get bogged down in SQL tutorials that are designed for database management. Hone in on query-focused tutorials. Here are some SQL lessons to start out with:
- Retrieving data
- Filtering data and making simple calculations
- Using multiple filters at once
- Ordering your results
- Aggregating data
- Counting unique values in a column
- Conditional logic
- Joining datasets
If you find yourself in tutorials talking about things like:
CREATE TABLE
DROP TABLE
CREATE DATABASE
DROP DATABASE
…te has metido en la madriguera equivocada.
Practica con los datos de tu empresa
Si estás haciendo análisis en el trabajo, realmente no hay nada que sustituya el uso de los datos de tu empresa para aprender SQL. Puedes explorar la estructura de datos de tu empresa y aprender conceptos técnicos al mismo tiempo. Todo lo que aprendas será inmediatamente aplicable a tu trabajo.
Para ello, tienes que entender cómo están organizados los datos de tu empresa. Dónde se almacenan los datos de producto y de marketing? Si quiere mirar las cuentas que churned el mes pasado, ¿qué tabla(s) debe consultar?
La mayoría de las empresas tienen un equipo de análisis que trabaja con los datos de su empresa a diario. Esta gente podrá responder a sus preguntas o indicarle documentación útil. Hay una relación mutuamente beneficiosa aquí: si usted está consultando los datos por su cuenta, está reduciendo la acumulación de solicitudes de datos del equipo de análisis. Puntos garantizados.
Algunos clientes de Mode incluso han organizado sesiones de formación periódicas en las que los analistas enseñan a sus colegas SQL utilizando sus datos internos. Los comentarios han sido abrumadoramente positivos por parte de ambos grupos de personas. Háganos saber si está pensando en establecer esto en su empresa. Estaremos encantados de compartir algunos aprendizajes.
¡Estás en camino!
¿Estás ansioso por empezar? Descárgate gratis nuestra Guía de inicio rápido para usuarios de Excel y sumérgete en nuestro tutorial de SQL