Verschillende datums gebruiken op één pagina in Power BI?  Het kan!

Onze Business Intelligence Consultant, Andrew Tan, kreeg bij zijn opdrachtgever het verzoek een bestaand QlikView-dashboard om te zetten naar Power BI. De informatie uit het dashboard helpt de control room bij zaakgericht werken om de bedrijfsvoering verder te verbeteren.

“Een zaak is in dit verband een samenhangende hoeveelheid werk, met een duidelijke aanleiding (registratie-instroom) en een duidelijk resultaat zodra de zaak is uitgestroomd (beëindiging).” 

Hoe ziet het Power BI-dashboard eruit? 

Het nieuwe dashboard in Power BI bestaat uit drie pagina’s waarop de zaakfeiten op verschillende detailniveaus worden getoond.  

  • De eerste pagina bevat een dashboard waarin het aantal geregistreerde zaken en aantal beëindigde zaken in diverse visualisaties worden getoond.  
  • De tweede en derde pagina vormen een verdieping van het overzicht op de eerste pagina. Deze pagina’s bevatten meer details voor analysedoeleinden.  

In het onderliggend datamodel van Power BI zijn meerdere relaties gedefinieerd tussen de feittabel, waarin zaken worden geteld, en de datumtabel. Dezelfde datumtabel wordt gebruikt om de zaakfeiten te filteren op registratiedatum en beëindigingsdatum. Dit is een goed voorbeeld van een rollenspeldimensie of role-playing dimension. 

“De rollenspeldimensie is een dimensie waarin op een andere manier op gerelateerde feiten kan worden gefilterd.” 

In dit geval kan de datum betrekking hebben op de registratie of beëindiging van een zaak. In Figuur 1 is dit als volgt terug te zien. 

Figuur 1

Grijze lijnen = actieve koppeling

De eerste relatie tussen de feit- en datumtabel is de grijze lijn tussen respectievelijk Registratiedatum en Datumveld. De grijze kleur van deze lijn duidt aan dat de koppeling tussen feit- en datumtabel actief is. Dat wil zeggen: de telling van het aantal zaken geschiedt op basis van de Registratiedatum en wordt gerapporteerd met de meetwaarde ‘Aantal zaken geregistreerd’. Deze meetwaarde is direct bruikbaar in het dashboard. 

Gele gestippelde lijnen = inactieve koppeling

De tweede relatie tussen de feit- en datumtabel is de gele gestippelde lijn tussen Beëindigingsdatum en Datumveld. De gestippelde lijn duidt erop dat de koppeling tussen feit- en datumtabel niet actief is. De datumtabel heeft immers al een actieve relatie met de feittabel via de Registratiedatum. Het is namelijk zo dat in Power BI slechts één relatie actief kan zijn tussen twee tabellen.

Problemen op de weg?

De beperking in het datamodel levert een praktisch probleem op. Dit zou betekenen dat het aantal beëindigde zaken niet tegelijkertijd gerapporteerd kan worden met het aantal geregistreerde zaken in het dashboard van de eerste pagina. Daarom is de meetwaarde ‘Aantal zaken beëindigd’ niet direct bruikbaar en geel gemarkeerd in Figuur 1.

DAX formule lost het op

Genoemd probleem is opgelost door voor beëindigde zaken een berekende meetwaarde (measure) aan te maken in Power BI, dus geen berekende kolom (calculated column). De DAX formule, die aan de nieuwe meetwaarde wordt toegevoegd, zorgt ervoor dat bij de telling van het aantal beëindigde zaken toch gebruik gemaakt kan worden van de beëindigingsdatum ondanks dat de koppeling met de datumtabel niet actief is.  

De gebruikte DAX formule bestaat uit twee delen.  

  1. Het eerste deel telt met behulp van CALCULATE() alle beëindigde zaken bij elkaar op.  
  1. Het tweede deel gebruikt USERELATIONSHIP() om de inactieve koppeling tussen feit- en datumtabel op basis van beëindigingsdatum te activeren voor de berekening in het eerste deel.  

 
In Figuur 1 is te zien dat de nieuwe meetwaarde ‘Aantal zaken beëindigd’ voorafgegaan wordt door een icoon met rekenmachine. Dit geeft aan dat het gaat om een berekende meetwaarde of measure.

Rollenspeldimensies als best practice

Voor de oplossing in het datamodel is de rollenspeldimensie ingezet als best practice. Het resultaat is tweeledig. Voor het dashboard op de eerste pagina kunnen Aantal beëindigde zaken en Aantal geregistreerde zaken tegelijkertijd gerapporteerd worden zonder dat ze elkaar bijten. Vanuit beheeroogpunt is een werkafspraak toegevoegd aan het data fundament zodat rollenspeldimensies altijd geïmplementeerd worden met een measure in Power BI. Dit heeft als voordeel dat de werkwijze bij Power BI is gestandaardiseerd en werkzaamheden overdraagbaar maakt.