22nd Jan 2025 Lectura de 10 minutos Crea tu propio Spotify Wrapped con SQL (¿Por qué no?) Jakub Romanowski Índice Paso 1: Descarga tus datos de Spotify Paso 2: Prepara tus datos para SQL Si utilizas Excel o Google Sheets: Si quieres una solución online rápida: ¿Qué contiene el CSV? Paso 3: Cargar datos en PostgreSQL (pgAdmin) 1. Crear la Tabla en pgAdmin 2. Importe el archivo CSV a su tabla 3. Verificar los datos Paso 4: Analice su lista de reproducción con consultas SQL Las 5 canciones más escuchadas Tiempo total de escucha Tendencias mensuales de escucha Paso 5: Visualiza tus datos en Power BI Paso 6: Compartir y flexibilizar Reflexiones finales Todo el mundo presume de su Spotify Wrapped en las redes sociales, pero ¿y si pudieras hacer el tuyo propio y ver todo lo que Spotify deja fuera? Con un poco de SQL, puedes profundizar en tus hábitos de escucha, ver tus canciones favoritas e incluso averiguar cuánto tiempo has pasado escuchando en bucle esa canción que te hace sentir culpable. Es fácil, divertido y una forma estupenda de poner a prueba tus conocimientos de SQL. En este artículo te mostraré cómo hacerlo. ¿Sabes que cada año se publica Spotify Wrapped y todo el mundo publica sus mejores canciones, artistas y estadísticas de escucha? Es divertido, pero seamos sinceros: a veces quieres algo más que lo que Spotify decide mostrarte. Por ejemplo, ¿cuánto tiempo de tu vida has malgastado escuchando esa canción que te hace sentir culpable? ¿O quién era realmente tu artista favorito si Spotify no te colaba podcasts? Si alguna vez has querido empollarte tus propios datos musicales, tengo algo genial para ti: crea tu propio Spotify Wrapped utilizando SQL. No es tan complicado como parece. Tendrás control total sobre los datos, derecho a presumir y una razón legítima para practicar SQL mientras haces gráficos por diversión. Paso 1: Descarga tus datos de Spotify Muy bien, lo primero que tienes que hacer es obtener tus datos de escucha de Spotify. Es sorprendentemente fácil: Spotify está obligado por ley a darte acceso a todos los datos personales que ha recopilado, y el proceso es bastante sencillo. Haz lo siguiente: Ve a la página de privacidad de Spotify. Tendrás que iniciar sesión si aún no lo has hecho. Aquí es donde Spotify guarda todas las herramientas para gestionar y acceder a tus datos. Una vez dentro, desplázate hasta la sección "Descarga tus datos". Haz clic en ella y Spotify te pedirá que confirmes la solicitud. No es instantáneo: Spotify tarda un poco en organizarlo todo (1-2 días, según mi experiencia). Te enviarán un correo electrónico cuando los datos estén listos, así que no refresques la bandeja de entrada como hice yo. Cuando recibas el correo electrónico, descarga el archivo ZIP que te facilitan. Dentro de ese ZIP, encontrarás varios archivos, pero el que nos interesa es StreamingHistory.json. Este archivo es la mina de oro: contiene un registro detallado de todas las canciones que has reproducido, cuándo y durante cuánto tiempo. Es básicamente tu vida en Spotify en forma de datos. Una advertencia: la primera vez que miré el archivo StreamingHistory.json, sentí que estaba hackeando mi propio gusto musical. No es bonito a primera vista, solo líneas de texto con marcas de tiempo, nombres de artistas y títulos de canciones, pero créeme, es muy potente una vez que lo pones a trabajar con SQL. Así que coge ese archivo y empecemos a convertir tus hábitos de escucha en algo mucho mejor que Spotify Wrapped. Paso 2: Prepara tus datos para SQL Spotify te proporciona los datos en un archivo JSON. Si no estás familiarizado, JSON (JavaScript Object Notation) no es más que una forma de almacenar datos en un formato de texto que encanta a las máquinas, pero que no es precisamente fácil de usar para los humanos. Funciona muy bien para los desarrolladores, pero SQL necesita los datos en formato de tabla, como una hoja de cálculo. Por lo tanto, el primer paso aquí es convertir StreamingHistory.json en un archivo CSV. No te preocupes, es más fácil de lo que parece. No necesitas herramientas sofisticadas ni conocimientos de programación: Excel, Google Sheets o incluso un conversor básico en línea te servirán. A continuación te explicamos cómo hacerlo: Si utilizas Excel o Google Sheets: Abre Excel (o Google Sheets) y busca la opción de importar un archivo. En Excel, irás a Datos -> Obtener datos -> Desde archivo -> JSON. En Google Sheets, es un poco más manual, por lo que es posible que necesite un convertidor en línea en primer lugar. Sube tu archivo StreamingHistory.json. Excel analizará el JSON y lo convertirá en filas y columnas. Si quieres una solución online rápida: Utiliza una herramienta como json-csv.com o similar. Estos sitios web te permiten cargar tu archivo JSON y convertirlo en CSV en cuestión de segundos. Descarga el archivo resultante y listo. ¿Qué contiene el CSV? Una vez convertido, el archivo CSV tendrá el aspecto de una pequeña hoja de cálculo con cuatro columnas clave: Column Name Description endTime When you listened to the track (timestamp). artistName The name of the artist. trackName The title of the song you listened to. msPlayed How long you played the song (in milliseconds). Por ejemplo: endTime artistName trackName msPlayed 2024-06-05 12:00 Metallica Enter Sandman 325000 2024-06-05 12:05 Korn Freak on a Leash 244000 endTime te permite saber exactamente cuándo has reproducido una canción, mientras que msPlayed te indica cuánto tiempo has escuchado. Una vez que tengas listo el archivo CSV, puedes cargarlo directamente en SQL y empezar a consultar tus hábitos de escucha como un profesional. Paso 3: Cargar datos en PostgreSQL (pgAdmin) Ahora que tus datos de Spotify están listos como archivo CSV, es hora de cargarlos en PostgreSQL mediante pgAdmin. Aquí es donde convertimos tu historial de escuchas en bruto en una tabla SQL. No te preocupes, te guiaré por todo el proceso. 1. Crear la Tabla en pgAdmin Primero, necesitas una tabla para guardar los datos. Abra pgAdmin y conéctese a su base de datos PostgreSQL. Una vez conectado: Abra una nueva ventana de consulta(haga clic con el botón derecho en su base de datos -> Herramienta de consulta). Ejecute el siguiente script SQL para crear una tabla: CREATE TABLE streaming_history ( endTime TIMESTAMP, artistName VARCHAR(255), trackName VARCHAR(255), msPlayed INT ); Haz clic en el botón Ejecutar (el icono del rayo), y se creará tu tabla. 2. Importe el archivo CSV a su tabla Ahora vamos a cargar su archivo CSV en la tabla que acaba de crear: En el menú de la izquierda de pgAdmin, expanda su base de datos -> Esquemas -> Tablas. Busque su tabla (streaming_history) y haga clic con el botón derecho sobre ella. Seleccione Importar/Exportar en el menú. Aparecerá una nueva ventana. Esto es lo que debe hacer Nombre del archivo: Busque la ubicación de su archivo CSV. Formato: Seleccione CSV. Delimitador: Pon una coma (,). Encabezado: Asegúrate de que está marcada si tu CSV tiene nombres de columnas en la primera fila. Haga clic en Aceptar para iniciar el proceso de importación. 3. Verificar los datos Para asegurarse de que todo se ha cargado correctamente, puede ejecutar una simple consulta SQL para comprobar su tabla: SELECT * FROM streaming_history LIMIT 10; Esto mostrará las primeras 10 filas de su tabla. Si ve las pistas, los nombres de los artistas y los tiempos de reproducción ordenados en columnas, ¡está listo! Paso 4: Analice su lista de reproducción con consultas SQL Ya tienes tus datos en PostgreSQL, y ahora es el momento de dar rienda suelta al poder de SQL. Con unas pocas consultas, puedes obtener información que ni siquiera Spotify Wrapped muestra. Tómate un café (o pon tu lista de reproducción favorita) y vamos allá. Las 5 canciones más escuchadas ¿Quieres saber qué canciones has reproducido más de la cuenta? Esta consulta resume el tiempo que has dedicado a cada canción y las ordena en orden descendente. SELECT trackName, artistName, SUM(msPlayed) / 60000 AS totalMinutes FROM streaming_history GROUP BY trackName, artistName ORDER BY totalMinutes DESC LIMIT 5; Qué hace: Agrupa tus datos por nombre de canción y artista. Suma el tiempo total de reproducción (en milisegundos) y lo convierte en minutos. Ordena las pistas por minutos totales, mostrando las 5 primeras. Por fin verás si esa canción que juraste que "sólo habías escuchado una vez" está dominando tu año. Tiempo total de escucha ¿Alguna vez te has preguntado cuántas horas de tu vida has dedicado a escuchar música este año? Aquí te explicamos cómo averiguarlo: SELECT SUM(msPlayed) / 3600000 AS totalHours FROM streaming_history; Qué hace: Suma el tiempo total (milisegundos) que has pasado escuchando canciones. Lo convierte en horas. Puede que te rías, llores o te cuestiones tus decisiones vitales cuando veas esta cifra. En cualquier caso, es divertido saberlo. Tendencias mensuales de escucha ¿Quieres ver cómo han cambiado tus hábitos musicales a lo largo de los meses? Esta consulta lo desglosa: SELECT DATE_TRUNC('month', endTime) AS month, SUM(msPlayed) / 3600000 AS hours FROM streaming_history GROUP BY month ORDER BY month; Qué hace: Agrupa tus datos de escucha por mes utilizando DATE_TRUNC. Suma el tiempo total de reproducción y lo convierte en horas. Ordena los datos cronológicamente para que puedas ver las tendencias. Te darás cuenta de si escuchas más durante los viajes de verano por carretera, la hibernación invernal o los estresantes plazos de entrega. Paso 5: Visualiza tus datos en Power BI Ahora que ya tienes tus datos de SQL, es el momento de convertir esos resultados en visuales llamativos con Power BI. He aquí cómo: Conecte Power BI a PostgreSQL Abra Power BI. Vaya a Inicio -> Obtener datos -> Base de datos PostgreSQL. Introduzca el nombre de su servidor y las credenciales de la base de datos. Cargue la tabla streaming_history en Power BI. Cree sus visuales Utilice estas sugerencias para dar vida a sus datos: Top Tracks: Gráfico de barras Eje X Nombre de la pista Eje Y: Total de minutos escuchados Artistas más escuchados: Gráfico circular Muestra la proporción de tiempo dedicado a cada artista. Tendencias mensuales de escucha: Gráfico lineal Eje X: Meses Eje Y: Total de horas escuchadas Tiempo total de escucha: Visualización de tarjetas Muestra el tiempo total de escucha en horas como un número grande y en negrita. Estilo Spotify Utiliza temas oscuros con colores vivos (verdes, morados, amarillos) para darle ese toque Spotify. Añade títulos como "Las 5 mejores canciones de NuMetal" o "Hábitos de escucha mensuales" para darle personalidad. Tu panel de control tendrá un aspecto elegante, profesional y listo para compartir. Aquí tienes mis 10 mejores canciones de 2024. Paso 6: Compartir y flexibilizar Una vez que su cuadro de mando de Power BI esté listo, se ha ganado el derecho a mostrarlo. He aquí cómo: Expórtalo: Guarda el cuadro de mando como PDF o imagen. Compártelo: Publícalo en las redes sociales, envíaselo a tus amigos o imprímelo si quieres ir a la antigua usanza. Presumeun poco: Que todo el mundo sepa que no sólo escuchas rock, sino que lo analizas como un profesional. Imagínate soltando estadísticas como "He pasado 120 horas escuchando Metallica este año" o "Duality de Slipknot ha sido mi canción número 1 con 15 reproducciones".Respeto instantáneo. Reflexiones finales Crear tu propio Spotify Wrapped no es sólo diversión, es una mezcla de amor por la música y un poco de experimentación con los datos. Con SQL, puedes descubrir información que Spotify no muestra, como qué canciones has reproducido repetidamente o cómo han cambiado tus hábitos musicales a lo largo del año. En este artículo, has aprendido a: Utilizar SQL para extraer tus canciones más escuchadas, artistas más escuchados y tendencias de escucha. Ejecutar consultas simples pero poderosas como GROUP BY, SUM(), y DATE_TRUNC. Convertir todos esos datos en visuales limpios al estilo Spotify con Power BI. Y aquí viene lo mejor: las técnicas SQL que has utilizado (clasificación de datos, agrupación y cálculo de totales) son sólo el principio. Si quieres aprender más y sentirte realmente cómodo trabajando con datos, consulta el tema SQL de la A a la Z en LearnSQL.es. Te llevará paso a paso a través de todo lo que necesitas saber, y llegarás a trabajar con datos del mundo real como estos. Con SQL, puedes analizar cualquier cosa: tu música, tus datos de trabajo o incluso tus proyectos paralelos. Es una herramienta que sigue dando de sí. Así que coge tus datos, escribe unas cuantas consultas más y comprueba hasta qué punto el rock y el metal han impulsado tu año. Y si descubres algo extraño, como que has tocado "Espresso" 200 veces o que Ariana Grande ocupa el 80% de tu lista de reproducción, todos hemos pasado por eso, no nos juzgues. Veamos quién dominó tu lista de reproducción. Tags: