Today’s challenge was to build an Alteryx App that allows users to select a date range and category. Then with these selections, Tableau KPI dashboard which also needs to be created should be updated automatically. And finally, the dashboard must be uploaded to Tableau Public.
Data that we are working on was UK Street Crimes and it includes crime categories, dates that crimes happened, where they are happened specifically on a map (Longitude and latitude), etc.
Data Source: https://data.police.uk/docs/method/crime-street/
Here is my approach:
1 - Getting the data
From the link above - UK Street Crimes API, I have found the API URL to be used downloading the information into Alteryx.
API URL: https://data.police.uk/api/crimes-street/all-crime?lat=52.629729&lng=-1.131592&date=2017-01
Longitude and latitude in this link can be updated manually or can be automated in Alteryx, I have chosen a specific point in London to see crimes within a mile, and updated manually.
Then using the Developer tools such as ‘Download’ and ‘JSON parse’, I have extracted the data into Alteryx.
2 - Preparing the data
After bringing data from API, data needs to be prepared. For this step, I have used ‘Text to Column’, ‘Select’, and ‘Cross tab’ tools.
Extracted data in results window
After preparation, data in results window
3 - Choosing a crime category
Data was ready to work on after preparation. So, using an Interface tool I have created a workflow for a user interaction – allows them to select a specific crime category from a dropdown menu. I have save the results as .hyper file to open it in Tableau.
Note: To be able to see the dropdown, I have changed the workflow type to Analytic App in Configuration window. Then run the workflow by clinking the analytical app button on the left hand side of the RUN button.
Dropdown window will pop up:
4 - Creating a dashboard
As last, I have opened Tableau Desktop and created a simple dashboard by using the .hyper file to show whenever a user select a new crime category in Alteryx, the dashboard will be updated automatically.