And so begins the infamous dashboard week! For today’s challenge, we were tasked with accessing data from TransportNSW via an API. I decided to explore data about train station facilities around the state, comparing that to regional population data from the Australian Bureau of Statistics. In this blog, I will take you through some of the main tasks and challenges I faced.
To access the transport data, we had to first call the data into Alteryx. Although the site provides guidance on the required format, I was stumped here for a while because my download tool kept returning encoded data rather than JSON. As a workaround, I ended up downloading the data in Alteryx as a .zip file onto my computer. Then it was simply a matter of inputting back the contents with an input tool.
The transport data already contained lat/long coordinates for each station, however I wanted to contextualise the data within government administrative regions to make comparisons with census data. This was a great opportunity to revisit some Alteryx spatial tools. After downloading the .shp file from PMSA, I used spatial match to determine where each station (centroid) intersected with each government area (polygon).
The rest of the time in Alteryx was relatively straightforward, involving data transformation and cleansing tools to prep the data for Tableau.
However, a note to self at this point… I kept falling into the temptation of pulling more data into Alteryx to form a more complete story. I spent time trying to ensure the data was in the most ideal form, so I cut over to data visualisation quite late in the day. Definitely a fine balance there, and something still to be mastered.
Moving into Tableau, I was pleased the data allowed me to implement a range of features including parameter and set actions. On top of these, here are a couple of fun extras I included:
- Rather than using a standard dropdown filter, I opted instead for ‘buttons’ that users could interact with. This was done by creating a table and setting it up to update set values.
- I also wanted to use emoticons to represent the facilities at each station rather than plain text. This was achieved by finding the unicode emoji, and inserting it straight into the calculation: if bus = true then ‘?’
All in all it was a great first challenge since I got to brush up on many techniques. I expect the rest of the week to be the same: a reflection on all that we’ve learnt in the whirlwind that has been the past 3 months of the Data School.
And here is the final product! Click here or on the image to interact with the full dashboard.