Home › Power BI-datamodel

Hoe hoort een Power BI-datamodel eruit te zien?

Als een ster: een feitentabel met de gebeurtenissen in het midden, daaromheen dimensietabellen met de context, en relaties die van dimensie naar feit lopen in een richting. Dat is sneller, maar belangrijker is dat de uitkomst voorspelbaar wordt. Een brede tabel met alles erin voelt overzichtelijk en werkt als beton.

De ster, kort uitgelegd

In het midden staat wat er gebeurd is: een verkoopregel, een boeking, een order, een urenregistratie. Daaromheen staat de context: welke klant, welk product, welke datum, welke afdeling. De feiten groeien, de context nauwelijks.

Die scheiding is de reden dat het werkt. De engine doorzoekt de kleine tabellen razendsnel en comprimeert de grote goed, en jij kunt er een onderwerp naast hangen zonder alles om te bouwen.

De vier keuzes die het verschil maken

1. Feiten en context scheiden

Niet omdat het zo hoort, maar omdat je anders bij elk nieuw onderwerp opnieuw begint. Een tweede feitentabel, bijvoorbeeld inkoop naast verkoop, hangt zo aan dezelfde dimensies.

2. Relaties in een richting

Van dimensie naar feit, enkelvoudig. Bidirectioneel lijkt makkelijker maar maakt de uitkomst afhankelijk van de volgorde waarin gefilterd wordt. Heb je het toch nodig, doe het dan bewust in een measure en niet als modelinstelling.

3. Een eigen datumtabel

Met alle datums aaneengesloten, gemarkeerd als datumtabel, met je eigen boekjaar en je eigen weeknummering. Zonder die tabel is elke vergelijking met een vorige periode handwerk.

4. Logica op de juiste plek

Alles wat altijd waar is hoort in de bron of in de laadstap. Alles wat afhangt van wat de gebruiker aanklikt hoort in een measure. Berekende kolommen zitten daartussenin en worden te vaak als uitvlucht gebruikt. Meer daarover in waar hoort je logica: in Power Query, in DAX of in de bron.

Waaraan je een model herkent dat gaat knellen

Wat een herbouw oplevert

Bij een maritieme aannemer ging de zwaarste visualisatie van ruim 24 seconden naar 1,3 seconde, puur door het model opnieuw op te zetten en de measures te herschrijven. De rapportpaginas bleven staan. Lees de uitgewerkte case.

Sonny de data-modellen snel technisch kon opzetten en de reports kon bouwen. Met Sonny is dit project naar volle tevredenheid afgerond.
Sander BergBusiness partner met passie voor innovatie

Een half uur is genoeg om te weten of het past

Geen presentatie en geen offerte aan het eind. We lopen je bronnen langs, je definities en je grootste ergernis.

Plan een half uur

Veelgestelde vragen

Hoe hoort een Power BI-datamodel eruit te zien?

Als een ster: een feitentabel in het midden met de gebeurtenissen, daaromheen dimensietabellen met de context. Relaties lopen van dimensie naar feit, in een richting. Dat is niet alleen sneller, het maakt de uitkomst ook voorspelbaar, en dat laatste weegt zwaarder.

Waarom is een brede tabel met alles erin een slecht idee?

Omdat hij voelt als overzicht en werkt als beton. De opslag-engine kan minder goed comprimeren, filters worden duurder, en zodra er een tweede onderwerp bij komt moet je alles opnieuw plat slaan. Bovendien staat de betekenis van een kolom dan op tientallen plekken.

Wat is er mis met bidirectionele relaties?

Ze zijn handig tijdens het bouwen en duur tijdens het uitvoeren, maar het echte bezwaar is dat de uitkomst onvoorspelbaar wordt. Bij meerdere bidirectionele paden hangt het antwoord af van de volgorde waarin de engine filtert. Een verkeerd getal is erger dan een traag getal.

Hoort een aparte datumtabel er echt bij?

Ja, altijd, en het is de goedkoopste verbetering die er bestaat. Zonder eigen datumtabel kun je geen fatsoenlijke vergelijking met vorig jaar maken, geen boekjaar aan dat afwijkt van het kalenderjaar, en geen weken tellen zoals jullie ze tellen.

Kunnen jullie een bestaand model herbouwen zonder alles opnieuw te maken?

Meestal wel. De rapportpaginas blijven vaak grotendeels staan; het model eronder gaat op de schop en de measures worden herschreven. De gebruiker ziet hetzelfde scherm, maar dan snel en met cijfers die kloppen.

Waar dit op steunt