Het datamodel in Power BI

Dit is een artikel uit een serie over het gebruik van dynamische dashboards in Microsoft Power BI. Inzicht krijgen in je data en op basis daarvan bijsturen, dat is in het kort de kracht van Power BI. De data kan overal vandaan komen: CRM, ERP, HRM, finance, big data, Excel, internet, bedenk het maar. In deze serie laten we je de mogelijkheden zien aan de hand van Bits & Bikes B.V., een fictieve groothandel in fietsen en fietsaccessoires. Onderaan dit artikel kun je zelf aan de slag met het dashboard.

Het datamodel in Power BI

De basis voor een dashboard in Power BI is het datamodel. Daarin wordt alle data geïmporteerd uit de diverse softwarepakketten en andere bronnen. Vervolgens wordt dit gestructureerd in verschillende tabellen en aangevuld met extra berekeningen. Het datamodel bepaalt welke grafieken en visualisaties je in het dashboard kunt opnemen. Een juist dashboard staat of valt met een juist datamodel. Belangrijk dus om zorgvuldig aandacht aan te besteden. De data in een datamodel bestaat uit tabellen met ‘feiten’ en tabellen met ‘dimensies’. Je wilt bijvoorbeeld de ‘omzet per productgroep per jaar’ weten. De feiten zijn dan de omzet, de dimensies zijn dan de productgroep en het jaar.

Feiten en dimensies

Het grootste gedeelte van de data bestaat uit de tabel met de feiten. In het voorbeeld van de ‘omzet per productgroep per jaar’ zijn de feiten de omzetten. Van elke order zijn er een omzetregels opgenomen in de tabel met feiten. Aan de feitentabel worden dus ook continu nieuwe regels toegevoegd. De dimensies zijn de invalshoeken hoe we de feiten willen bekijken. In het voorbeeld ‘omzet per productgroep per jaar’ zijn dat de dimensies productgroep en jaar. Elke dimensie heeft haar waarden in een aparte tabel staan, die weer gekoppeld is aan de feitentabel. Er zijn daarom ook vaak meer dimensietabellen gekoppeld aan één feitentabel.

Sterschema

In het datamodel staat de feitentabel centraal, met daarom heen meerdere dimensietabellen. De tabellen krijgen de vorm van een ster, vandaar dat dit een sterschema wordt genoemd.

blank

In de bovenstaande afbeelding kun je met een klein beetje verbeelding de vorm van een ster zien. De feitentabel is de tabel Verkoop, daaromheen staan de dimensietabellen met Producten, Verkoopmedewerkers, Klanten en Kalender.

Misschien is dit verhaal een beetje technisch, het is wel handig om dit principe te begrijpen omdat het de basis vormt voor een dashboard en voor de selecties die je kunt maken in een dashboard. Een hulpmiddel om het verschil te weten tussen feiten en dimensies is het woordje ‘per’. Elke keer dat je ‘per’ zegt, heb je het over een extra dimensie. Als je het ‘ziekteverzuim per medewerker per maand’ wilt weten, dan is het ziekteverzuim de feiten, de medewerker en maand zijn dimensies. Als je de ‘offertes per land per sector’ wilt weten, dan zijn de offertes de feiten, de dimensies zijn land en sector.

Berekeningen

De volgende stap is het verrijken van de data, zodat je de gewenste grafieken kunt maken. De data die je uit andere softwarepakketten importeert heeft vaak nog niet het formaat zoals je dat nodig hebt voor een dashboard. Sommige kolommen met gegevens kunnen verwijderd worden, maar vaak heb je ook extra gegevens nodig. In Power BI kun je zelf extra kolommen of berekeningen toevoegen aan het datamodel, met behulp van de formuletaal DAX. DAX is een zeer krachtig hulpmiddel dat razendsnel berekeningen kan uitvoeren op de data, zelfs als dat miljoenen regels zijn. De mogelijkheden van DAX zijn erg uitgebreid en het kan ook gauw erg complex worden. Daarom beperk ik me in deze blog tot een paar eenvoudige voorbeelden.

Stel dat de geïmporteerde data twee kolommen heeft, één voor de bruto-omzet en één voor de korting. Je wilt graag de netto-omzet (na aftrek van de korting) laten zien, dus moet je dit in het datamodel berekenen. Daarvoor kun je een meting toevoegen aan een tabel, die deze berekening uitvoert met behulp van een DAX-expressie.

Omzet dit jaar = SUMX(Verkoop; Verkoop[VerkoopprijsBruto] - Verkoop[Korting])

Deze DAX-expressie voegt een extra berekening voor ‘Omzet dit jaar’ toe aan de tabel Verkoop. De berekening is de bruto-verkoopprijs minus de korting.

Visualiseren

De geïmporteerde gegevens kunnen we samen met de berekende gegevens weergeven in een grafiek. We willen de data visualiseren, zodat het inzicht geeft.

blank blank

De kolomwaarden in deze grafiek zijn de meting ‘Omzet dit jaar’ die we aan de feitentabel hebben toegevoegd. Op de horizontale x-as wordt deze omzet verdeeld over de maanden van 2017. In elke maand wordt de omzet in kolomreeksen verdeeld over de productgroepen. Op de x-as en in de kolomreeksen maken we gebruik van de dimensies die in het datamodel zijn vastgelegd.

Meer weten?

In het volgende artikel laten we meer zien over hoe je vergelijkingen kunt maken met de data. Dat doen we aan de hand van een rapport met een klantanalyse op basis van de gegenereerde omzetten.

Rapport Omzet per productgroep

Klik op het pijltje blank rechts onderin om het dashboard op volledig scherm te tonen.

Reacties zijn gesloten.