Apps, APIs and Agony

Dashboard Week started like any difficult endeavor, with anticipation and a hearty breakfast (a sausage and egg sandwich from a artisan food van). As the minutes rolled on in the wait for the allusive blog that contained our task for the day, we all wondered what it would be. We had seen a sneak peak of previous dashboard weeks but only the prim and proper presentations, not the preparation that was required before it.

Then, at 9:30, we were commissioned. The ask, an app that would call a API taking user input for 3 (technically 4) measures; a Tableau Public published dashboard that would be automatically updated with the running of whatever flow was used.

Well, let me tell you, 9:35AM on the 26 September 2022, in the Orange room at 25 Watling Street was chaos. Even Marcelo left the comfort of his usual cozy hovel to come lament together, in ashes and sack-cloth.

The Data Source

UK police data is notoriously difficult. Different police forces record in slightly different ways and to collate all forces' data must be a feat of administerial prowess. Despite this reputation, the police data API was relatively easy to set up and documentation was easy to read. The harder part was sourcing postcode information: longitudes and latitudes of postcodes. However, a quick convo post later, this was indeed another challenge overcome.

App and API Construction

A fuller blog on the step-by-step construction of this workflow will be available at this link (soon). But for the sake of this blog, I will explain the high level features and the thought process of the decision made for your judgment or information.

I am sure you have noticed there is a macro in my workflow and my thinking behind this was that it would be good practice and good to practice using a batch macro with an API call to ensure that there wouldn't be any parsing, API throttling or limit errors.

The macro takes 3 inputs, one through a control parameter tool and two from a macro input. The control parameter would take the scaffolded dates and construct a new URL to then get the data from the API from that month and moved on, repeat until it reached the end date. P input would take the postcode input and C input would take the crime type from the user input of the APP.

Timing

Time passes for both king and pauper. Yet, we all seem to forget. I made a rather ambitious plan of my time for this day.

It was all going well until I realized, I had not read the brief properly. And then it was going well again, until, again, I realized, I had not read the brief properly (you can see where I am going with this). Essentially, my time plan was reduced to redundancy because I had not properly digested and understood all the small parts of the task.

Sketch and Outcome

My final dashboard did not fully follow from my sketch, but as I wrote in the paragraph above, this was because of the lack of understanding of the task.

The Final Dashboard

Tomorrow I will actually find out what a KPI dashboard is.

Goodbye for now.

Author:
Ozlem Sigbeku
Powered by The Information Lab
1st Floor, 25 Watling Street, London, EC4M 9BR
Subscribe
to our Newsletter
Get the lastest news about The Data School and application tips
Subscribe now
© 2025 The Information Lab