Embedded analytics met Tableau Public
Stel je voor dat je de statistieken van je eigen website in een klein hoekje van je website terug wilt laten komen. Of eventueel de beoordelingen van je klanten in een grafisch element. Als je Tableau Public gebruikt dan kun je dit soort publieke datavisualisaties gratis inbedden in je eigen website. Zodra jouw visualisatie klaar is, kun je met druk op de knop de embed code laten genereren voor de website. Handig toch? In deze blog leg ik je uit hoe je dit kunt doen aan de hand van een geïllustreerd stappenplan.
Actuele data
Laten we voorop stellen dat data vers houden zeer gemakkelijk in te regelen is met de on premise of cloud oplossing van Tableau. Met Tableau Public kun je ook profiteren van een actueel inzicht alleen werkt het net even anders als het gaat om het gemak waarmee data ververst kan worden.
Met een connectie naar Google Sheets welke bijgewerkt wordt met R, kunnen we een publiek dashboard voorzien van verse data. Een recente R blog illustreerde de mogelijkheden al (met versie 4 van de Google API) van de koppeling tussen R en Google Sheet. In deze blog deel ik hoe dit naar Tableau Public uitgebreid kan worden en wel aan de hand van open data van het CBS.
De gevolgde ontwikkelprocedure
Met het volgende stappenplan kun je zelf ook een CBS dataset ophalen en wegschrijven naar Google Sheets, met Tableau Public de data visualiseren en daarna de embed code genereren zodat jouw Tableau visualisatie op je website komt te staan.
1.Een Google account aanmaken.
2. Uiteraard moet de gratis R software ook geïnstalleerd via r-project.org. In deze blog werkte ik met versie 4.0.5 maar versie 4.1.3 is ook goed.
3. Authenticatie vanuit R kunnen we met 1 regel code doen (zie code regel 3), mits het pakket is geladen (op regel 2) en geïnstalleerd (op regel 1). Eenmalig voeg je een account toe en wordt, na de login via de browser, een toegangscode lokaal opgeslagen. Alle keren daarna kun je dat opgeslagen token hergebruiken.
4. Na authenticatie schrijven we testdata naar Google Sheets en verifiëren we het resultaat. Hiervoor kunnen we de code op regels 4 t/m 7 gebruiken.
5. Nu door met het ophalen van CBS data en wegschrijven naar de bedoelde spreadsheet. Voor deze stap hebben we de code van regels 9 t/m 15 nodig.
6. Tableau Public installeren (via public.tableau.com)
7. Verbind met de data op Google Sheets en analyseer de data naar believen.
8. Deel je werk met de wereld en kies voor synchroniseren met Google Sheets.
9. Genereer de embed code door onderin het grijze lint op share te klikken.
10. Optioneel: als ik het verversingsscript richting Google Sheet wil automatiseren zou ik het volgende R blog erbij pakken.
Nacontrole CBS sterftecijfers en next steps
Na een laatste controle bleek dat de sterftecijfers veel te hoog waren: de totalen die CBS in de data meegeeft, heb ik weggefilterd via de web-edit functionaliteit op Tableau Public. Zo zijn ook de filters en naamgeving voor de dimensies geslacht en leeftijdsgroep toegevoegd en voilà het resultaat is klaar.
Meer weten?
Wil jij ook aan de slag met Tableau Embedded Analytics of wil je weten hoe je dit met Python oplost? Neem dan contact met ons op.
Wist je dat je dit ook met een ODATA connectie kunt bewerkstelligen zodat je geen connectie nodig hebt via Google Sheets en R?
Maak dat in Tableau Desktop via de ODATA driver verbinding met de volgende URL (deze werkt want de resultaatset is onder de 10k rijen):
https://opendata.cbs.nl/ODataFeed/OData/70895ned/TypedDataSet?$filter=Geslacht ne ‘1100’ and LeeftijdOp31December ne ‘10000’
Met deze filters haal je de totalen binnen die kolom weg: optellen doen we immers in Tableau wel!