Top Spotify Songs in 2023
Overview
I started a data analytics project to curate and visualize the top songs of 2023 using a dataset sourced from Kaggle. The primary objective was to create an interactive Power BI dashboard that not only showcased the top songs but also enriched the data by integrating album cover URLs from the Spotify API, thereby enhancing the visualization potential.
Below is a video showing how the dashboard in action.
- Cleaning & Prepping Data
The initial phase of acquiring a dataset from a source like Kaggle and cleaning it. Data cleaning involves the process of identifying and rectifying errors, inconsistencies, missing values, and inaccuracies within the dataset.
- Fetching Album Covers Using Python & Spotify API:
Within the dashboard, I aimed to display the album cover for each song. However, as the current dataset lacked the image URLs for each song, I utilized Python code integrated with the Spotify API. This approach allowed me to enrich the dataset by appending a new column containing specific URLs for album covers corresponding to individual songs.
- Building Dashboard in Power BI:
Within Power BI, I established the foundational elements by adjusting the canvas size and setting the color theme. As well as creating the following DAX measures.
Creating Data Table & Date Column:
The dataset did contain a date column, but it lacked individual columns for the release day, month, and year of each track. Using the DATE function, I combined these columns to create a new date column. After creating this date column, I utilized an external Power BI tool, Bravo, to construct an extensive date table to enhance time-based analyses within the dashboard.
DAX Measures:
I crafted several measures to enable additional visual representations and insights within the dashboard, including calculations for:
Most Played Song
Number of Streams of the Top Songs
Average Streams per Year
Percent Difference between top song streams and the average.
- Creating Album Cover Visual:
Leveraging the Power BI app "HTML Content," I merged DAX and HTML code, generating a dynamic measure displaying album cover images within the dashboard.
- Energy Percent Gauge & Heatmap Visualizations:
I developed a measure using Deneb and David Bacci’s Unit Chart gauge to depict the average energy level for a specific year. Additionally, I used Deneb and code from Mike Carlo to generate a heatmap visualizing the distribution of released tracks across days of the week and months.
- Designing Dashboard Background:
Using PowerPoint, I meticulously designed an aesthetically pleasing background tailored specifically for the Power BI dashboard. This approach offered a unique advantage compared to designing the background directly in Power BI. It allowed more intricate and detailed customization options, resulting in a more refined and visually engaging layout for the dashboard.
Conclusion:
These steps illustrate a comprehensive process involving data enrichment, dashboard design, DAX utilization, and visualization techniques implemented to create an engaging and informative Power BI dashboard displaying the top songs of 2023.
Links:
Github Containing All Files & Code
David Bacci's Unit Chart Guage