Day 4 of Dashboard Week arrived, bringing a new challenge involving APIs. Initially, we were supposed to extract data on Australian Prime Minister speeches over the past 80 years using an API. However, complications such as anti-botting checks on the website, which prevented any automated process to extract the data, led us to pivot to a new topic: SpaceX. This API offered 9 endpoints, and none of them required pagination, API keys, or any complex processes.

Step 1: Connecting to the API and Downloading Data
The initial task was to connect to the API and download all the available data. The simplicity of the API made this a relatively quick process. The downloaded data came in JSON format, requiring me to parse it and then apply some cross-tabbing and transformations to make it usable for Tableau.

A significant decision arose when dealing with data that contained multiple values, such as a single launch having multiple payloads, with each payload containing multiple satellites. I had to decide whether to represent this data in a wide format (one field per satellite in each payload) or a long format (one row for every satellite). I opted for the long version, as my dashboard would mainly focus on the satellites. Cleaning this extensive data took considerable time. Here is the final Alteryx workflow.

Step 2: Analysis and Dashboard Creation
With the data prepared, I brought it into Tableau and began my analysis. Focusing on the satellites, the first page of my dashboard was an exploratory section. Users could select a satellite, see its stats, and watch it move over the Earth. I achieved the moving satellite effect by utilizing a widget from a website that shows a chosen satellite. After adjusting the widget’s URL parameters, I linked each row in Alteryx to the corresponding satellite information. This allowed me to create a parameter in Tableau and display the URL using a webpage object.

For satellite selection, I initially thought of calculating the trajectory using orbital statistics like periapsis and apoapsis but abandoned the idea due to time constraints. Instead, I used trigonometry to give each satellite a random coordinate around a circle, correlating with its orbit type, to create a visual of satellites orbiting the Earth. Users could click on a dot to see the satellite in motion and access information about it.

Recognising that the dashboard needed more analytical content, I planned two additional pages. The first provided high-level information about SpaceX, while the second offered in-depth analysis of various launches. I started with the introductory page, aiming to give a brief insight into SpaceX’s history. I devised a line chart where users could hover over a year to view milestones achieved, capitalising on an endpoint in the API that specifically returned this information.

Conclusion
Regrettably, time constraints prevented me from creating the second page or polishing the visuals to the same standard as the previous day. The intense week was also taking its toll, and I felt the final product was not something I was exceptionally proud of. However, the creative approach to visualising the satellites added a unique and engaging aspect to the dashboard. Even with limited time, the project demonstrated the ability to adapt to unexpected changes and innovate within the constraints of a one-day project.

Samuel Goodman
Author: Samuel Goodman