Every Data School trainee will eventually go through a rigorous Tableau challenge.
A challenge to create a series of five amazing data visualisation dashboards, one a day, throughout an entire week.
A challenge that will put all the skills we learned, over nearly four months of intensive training, to the test.
It is the ultimate dashboarding trial… otherwise known as Dashboard Week.

Today was Day 1 of Dashboard Week and the objective was to connect to data via an API from apilist.fun and use it to build a Tableau dashboard. After browsing the list of APIs, I settled on the Airvisual API, which provides air quality data for cities around the world. Then, I found a world cities dataset containing latitude and longitude coordinates to enable me to get air quality data based on geographical location. To reduce the number of API requests I had to make, I filtered cities to only those with a population of at least 1 million residents. As specified on the API documentation page, I constructed my data request URLs and inputted them into the download tool in Alteryx.

When getting data using the Airvisual API, I encountered an issue that would return an error when I requested data from the API too many times per minute. To solve this problem, I downloaded the Wait A Second macro from the Crew Macro Pack. This macro specifies a wait time between outputting each record in a table, which would prevent me from hitting the API call limit. However, it made the workflow take a very long time. Now that I was able to successfully extract data via API, I exported the data and moved it into Tableau.

Took a while, but I got there in the end.

In Tableau, I loaded up the data, which i exported in a hyper file. In my attempts to create a decent visualisation, I realised that having just the air quality data would be insufficient. I then combined the data with city population numbers, which was from the world cities dataset.

Working with what I had, I made the theme of my dashboard to find out if cities with greater population had higher air pollution levels. I decided to have a map to display both the size of a city’s population and their air quality level. I also included a couple of bar charts below to enable users to filter down the map and look deeper into the data. Check out the finished dashboard here.


It was definitely a tough task to complete this dashboard in a single day. Nevertheless, every challenge I face is an opportunity to take a step forward and improve on my past. I am keenly looking forward to the next four days of dashboarding.



Jethro Chen
Author: Jethro Chen