R integratie in PowerBI: Dashboards met diepere inzichten. Catalogusprijzen van Premium automerken in Nederland.

Interactieve Dashboards

Dashboards zijn niet meer weg te denken in de BI-wereld. Het zijn uitstekende tools waarmee je de manager in de cockpit kan laten zitten om zijn afdeling te sturen of specialisten inzichten geeft over de status in de machinekamer. Dashboards geven de data een vorm en laten de visualisaties spreken. Door de interactiviteit, hoe de componenten op het dashboard op elkaar reageren, krijg je het gevoel dat je echt een sterk staaltje techniek in de palm van je hand hebt (probeer bijvoorbeeld deze Qlikview-demo). Daarbij worden dashboards als zeer prettig ervaren door de eindgebruiker, maar ook door de ontwikkelaars! Een dashboard bouwen is namelijk erg leuk om te doen. Zo heb ik het in ieder geval ervaren bij de projecten dat ik een dashboard moest bouwen.

Visualisaties op het dashboard

Over het algemeen lijken de verschillende Dashboarding-tools op elkaar, in ieder geval voor de eindgebruiker meer dan voor de ontwikkelaar. Zo zijn er bijvoorbeeld de tools PowerBITableau of Qlikview. De visualisaties op de dashboards zijn zo goed als hetzelfde. De visualisaties op een dashboard zijn vooral beschrijvend met als voornaamste doel de eindgebruiker snel te informeren zonder er lang over te hoeven nadenken. Denk bijvoorbeeld aan staaf- of lijndiagrammen waarin je snel de aantallen kunt zien en eventueel vergelijkingen mee kunt maken.

Daarbij heb je ook visualisaties waarbij je iets langer stil moet staan en waarbij je wordt geïnformeerd door te zoeken. Dit is bijvoorbeeld het geval bij tabellen, matrixen of visualisaties waarbij je niveaus dieper kunt klikken (drilldown).

Er zijn ook visualisaties waarbij je nog langer stil kunt staan om er meer inzichten uit te halen. Dit zijn visualisaties uit de statistiekwereld en kunnen ook weergegeven worden op een dashboard. Dit wordt in de volgende paragrafen gedemonstreerd.

Statistische visualisaties eenvoudig weergeven op een PowerBI dashboard

De open source statistische programmeertaal R biedt ook mogelijkheden om data te visualiseren. Echter kun je met R veel dieper gaan dan bij visualisaties op dashboards. Zo kun je bijvoorbeeld met visualisaties uit de statistiek inzichten halen die je niet uit standaard visualisaties haalt. Goed nieuws, deze visualisaties kunnen worden geplaatst op een dashboard. De Dashboarding-tool die ik gebruik om dit te demonstreren is PowerBI van Microsoft. Met een paar regels R-code kun je de visualisaties die je gewend bent van R, eenvoudig plaatsen op een PowerBI dashboard. Het eindresultaat:

Links zijn de statistische visualisaties te zien die met R gemaakt zijn, rechts staan de normale PowerBI visualisaties die in ieder ander Dashboarding-tool ook te vinden zijn.

Hoe het werkt

R-code

Je voert de R code op dezelfde manier in zoals je dat bij een R sessie doet. Je ziet dat er een variabele “dataset” wordt aangemaakt die een platte tabel bevat met de velden die voor deze visualisatie zijn geselecteerd. Dit is een data frame in R.

R-packages installeren

Om gebruik te maken van R-packages, moet je deze geïnstalleerd hebben. Dit kun je gewoon doen op de IDE (Intelligent Development Environment) die je normaal gebruikt voor R, zoals RStudio. Daarna open je de packages in het script met de library() functie. Voor dit scriptje gebruik ik de ggplot package om data te visualiseren endplyr package om data te filteren.

library(ggplot2)
library(dplyr)

Experimenteren in de IDE

Nu is PowerBI niet te beste plek om te experimenteren met R-scripts. Door een klik op de knop kun je met de samengestelde dataset veder gaan in de IDE die je normaal gesproken gebruikt voor R. Dit is RStudio, of in mijn geval Visual Studio. Als eenmaal het script er uit ziet zoals je dat ziet, kun je deze terug kopiëren in het PowerBI scherm.

Script runnen

Als het script klaar is en het in de IDE de visualisatie maakt die je wilt, zal dat nu ook in PowerBI moeten werken. Door op run script te klikken komt de visualisatie in een paar seconden tevoorschijn:

Met een paar regels R-script kun je visualisatie op PowerBI genereren:

Inzichten: Catalogusprijzen van Premium automerken

Ik heb een dataset samengesteld op de website van de RDW om te gebruiken voor deze demonstratie. Het bevat de gegevens van geregistreerde Audi’s, BMW’s, Mercedessen, Volkswagens en Volvo’s in Nederland. Op een statistische wijze wil ik visualiseren hoe de prijzen en gewichten van deze auto’s verdeeld zijn. Deze mogelijkheid is er niet in PowerBI maar wel in R. Ik schrijf er een klein R scriptje voor die daar de goeie visualisatie voor maakt:

library(ggplot2)
library(dplyr)

# filter for only cars last 5 years and price lower than 600K

datasetF1 <- dataset %>% filter(Year > 2011, Catalogusprijs < 600000)

# create plot

# plot 1
ggplot(datasetF1, aes(Catalogusprijs, colour = Merk)) +
geom_density()

Zoals je ziet filter ik op auto’s die later dan 2011 geregistreerd zijn en minder dan 600.000 euro gekost hebben. Bij het bekijken van de data kwam ik er namelijk achter dat er auto’s in stonden met extreem hoge prijzen, waarschijnlijk een foutje in de data die ik er hier uit filter.

Verdeling van prijzen

De visualisatie van de verdeling is als volgt af te lezen:

Op de x-as is de waarde die we onderzoeken weergegeven, in dit geval de catalogusprijs. De y-as geeft de kans weer, welk minimaal en maximaal is. Het hele gebied onder iedere curve is bij elkaar opgeteld altijd 1. Daarbij kun je zien dat qua catalogusprijs de verdeling van Audi’s meer in evenwicht zijn dan BMW’s en Mercedessen. Er is dus een grote groep “goedkopere” BMW’s en Mercedessen, deze groep is minder groot bij Audi. Tevens ook bij Volkswagen en Volvo.

Over het algemeen zie je dat de verdelingen zo goed als dezelfde vorm hebben, dit heet “Positively Skewed“, de staarten in de verdeling zijn namelijk lang aan de rechterkant. De massa van de verdeling is dus aan de linkerkant van de verdeling, in dit geval dus bij de lagere prijzen.

Als je dit vergelijkt met het straatbeeld, komt dit wel overeen. Je ziet over het algemeen meer 1-series, A-klasses of Audi A3’s dan 7-series, S-klasses of A8’s.

Je kunt nog veel meer informatie uit deze verdeling halen of er op verschillende manier naar kijken, zoveel dat je er een apart artikel over kunt schrijven. Je zou bijvoorbeeld ook Ferrari’s kunnen toevoegen aan de dataset, die verdeling zal er ongetwijfeld anders uit zien.

Verdeling gewicht (Massa Rijklaar)

De verdeling van de gewichten zou je zo goed als op dezelfde manier kunnen aflezen. Over het algemeen hebben deze dezelfde vorm als bij de verdeling van de catalogusprijs, wat logisch is omdat goedkopere auto’s meestal ook lichter zijn (met sportwagens als uitzondering). Hier zie je dat de BMW’s zwaarder zijn. Bij de merken Audi, Volvo en Volkswagen is dat iets beter verdeeld.

Slot

Je kunt zien dat deze verdelingen meer informatie geven dan alleen het gemiddelde. Als je de balken naast de verdelingen ziet, krijg je toch een ander idee van de gemiddelde prijzen. Die geven namelijk aan dat een gemiddelde BMW of Mercedes juist duurder is. Zo zie je dat je door de visualisatie van de verdelingen diepere en beter inzichten krijgt over de verdeling van de prijzen dan alleen het gemiddelde.

Deze normale verdeling is nog maar één van de manieren om data te visualiseren. Door de integratie van R heb je een sterk wapen om diepe inzichten weer te geven op het dashboard. De flexibele manier om R-scripts toe te voegen aan het dashboard werkt erg goed. Als je programmeren in R wilt leren, kun je mijn handleiding “Programmeren en data analyseren in R” gratis downloaden. In de handleiding wordt alles praktisch uitgelegd en kun je in een mum van tijd R programmeren en dat taal begrijpen.

Het zou echter mooi zijn als er parameters aan het R script toegevoegd zouden worden, zodat je met de filter in PowerBI ook de visualisaties aan kun passen. Nu is dat nog vast en moet je in het R-script weergeven wat je op de visualisatie laat zien. Al met al is het een uitstekende functionaliteit die ervoor zorgt dat de gebruiksvriendelijkheid van een dashboard en de diepere inzichten op dezelfde plek te vinden zijn, in de palm van je hand.

Mocht je het dashboard zelf willen bekijken, stuur mij even een berichtje zodat ik alles in een .zip-bestand naar jullie toe kan sturen.

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit /  Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit /  Bijwerken )

Verbinden met %s

Deze site gebruikt Akismet om spam te bestrijden. Ontdek hoe de data van je reactie verwerkt wordt.

%d bloggers liken dit: