This is a VERY belated post! Like more than 3 years late! But better late than never, right?
For this project, I used data from Crit Role Stats. They don't currently have an API but they do house most of their data in Google Sheets and what they don't have in a sheet lives in Google Docs which are embedded on their site. The Google Sheets data was easy to pull into the dashboard using Tableau's built-in Sheets connector, and the rest presented a fun challenge.
To begin, for each set of non-Sheets data that I wanted, I built a Python-powered web scraper in Morph.io, each of which is housed in my own Github in the repositories ("repos") labeled with "critrolestats". I then created a Google Sheet of my own, where each tab points to one of my Morph.io APIs, like so:
The "importdata()" function in Sheets was instrumental to making this all work! From here, I was able to again use Tableau's built-in Sheets connector to pull the data into the dashboard. The API call is made each time the extract is refreshed, which is daily on Tableau Public, so the dashboard stayed up to date until the end of the campaign in 2021.
As for the details about the inner workings of the Tableau workbook, I leave it to the reader to download and sniff around. :)
In a very cool (for me) turn of events, the Wildemount Dashboard was part of the Long List for the 2019 Information is Beautiful Awards. Click here to see the entry.
As of this writing, the viz has almost 10,000 views on Tableau Public.
Also I'm pretty sure this dashboard helped me land a job in early 2020, as I joined a team of D&D nerds with whom I still play on a quasi-regular basis even though I've since moved on from that company!