Waarom het datamodel er meer toe doet dan het dashboard

De meeste MKB-bedrijven die beginnen met Power BI focussen op het visuele: welke grafieken, welke kleuren, welke layout. Maar de werkelijke kracht zit in het datamodel eronder. Een slechte structuur leidt tot trage rapporten, verkeerde cijfers en frustratie.

Een goed opgezet datamodel daarentegen maakt alles eenvoudiger: snellere queries, betrouwbare berekeningen en makkelijke uitbreidbaarheid.

Star schema: de gouden standaard

Voor de meeste MKB-toepassingen is het star schema de beste keuze. Dit betekent:

  • Feitentabellen (fact tables): je transactiedata. Denk aan factuurregels, bestellingen, urenregistratie.
  • Dimensietabellen (dimension tables): je beschrijvende data. Klanten, producten, medewerkers, perioden.

De feitentabel staat in het midden, de dimensies eromheen. Vandaar de naam “star” (ster).

Waarom geen flat table?

Veel MKB-bedrijven exporteren alles naar een enkele Excel-tabel en laden die in Power BI. Dat werkt voor 100 rijen, maar niet voor 100.000. Problemen die je krijgt:

  • Dubbele data: klantnamen staan in elke rij herhaald
  • Trage performance: Power BI moet meer data laden dan nodig
  • Complexe DAX: berekeningen worden onnodig ingewikkeld
  • Foutgevoeligheid: een typfout in een klantnaam maakt een aparte groep

Praktische stappen voor MKB

1. Begin bij de vraag

Welke KPI’s wil je zien? Begin niet met data, begin met de vraag. Voorbeelden:

  • “Hoeveel omzet per klant per maand?”
  • “Wat is mijn DSO (Days Sales Outstanding)?”
  • “Hoeveel uur besteden we per project?”

De antwoorden bepalen welke tabellen je nodig hebt.

2. Scheid feiten van dimensies

Neem je Exact Online export. Split de data in:

  • Fact_Facturen: factuurnummer, datum, bedrag, klant-ID, product-ID
  • Dim_Klanten: klant-ID, naam, branche, regio
  • Dim_Producten: product-ID, naam, categorie, marge
  • Dim_Datum: datum, jaar, kwartaal, maand, weeknummer

3. Gebruik een datumtabel

Dit is de meest onderschatte best practice. Maak altijd een aparte datumtabel. Power BI heeft hier een ingebouwde functie voor, maar een eigen tabel geeft meer controle:

  • Fiscale perioden (als je boekjaar afwijkt)
  • Nederlandse feestdagen
  • Weeknummers (ISO-standaard)
  • “Vandaag” markering voor YTD berekeningen

4. Relaties leggen

In Power BI leg je relaties tussen tabellen via de “Manage Relationships” functie:

  • Altijd 1-op-veel relaties (van dimensie naar feit)
  • De “1”-kant is altijd de dimensietabel
  • Filter richting: standaard single-direction (van dimensie naar feit)
  • Vermijd bidirectional filtering tenzij je precies weet waarom

5. Measures, geen calculated columns

Een veelgemaakte fout: berekeningen als kolom toevoegen in plaats van als measure. Het verschil:

  • Calculated column: wordt berekend bij data refresh, neemt geheugen in
  • Measure: wordt berekend bij query, past zich aan aan filters

Voor KPI’s, totalen en percentages: gebruik altijd measures. Voorbeeld:

Omzet = SUM(Fact_Facturen[Bedrag])
Omzet YTD = TOTALYTD([Omzet], Dim_Datum[Datum])

Veelgemaakte fouten

Te veel tabellen importeren

Import alleen wat je nodig hebt. Die 50 kolommen uit Exact Online? Je gebruikt er waarschijnlijk 8. Verwijder de rest in Power Query voordat je laadt.

Geen consistent naamgeving

Gebruik een vaste conventie:

  • Feitentabellen: Fact_[Naam]
  • Dimensies: Dim_[Naam]
  • Measures: duidelijke Nederlands of Engels, maar kies een en blijf consistent

Data transformatie in DAX in plaats van Power Query

Doe je data cleaning en transformaties in Power Query, niet in DAX. Power Query draait bij de refresh, DAX bij elke query. Verkeerd gebruik van DAX maakt je dashboard traag.

Wanneer hulp inschakelen?

Als je meer dan 3 databronnen combineert, meerdere administraties hebt (multi-entity), of complexe financiele berekeningen nodig hebt (cashflow forecasts, DSO, marge-analyse), dan loont het om een specialist in te schakelen.

Bij Chef Data hebben we meerdere dashboards gebouwd voor MKB-bedrijven met complexe datamodellen. Van 4 BV’s in een Exact Online omgeving tot projecturenregistratie gekoppeld aan facturatie. Het verschil tussen een goed en een slecht datamodel is het verschil tussen vertrouwen in je cijfers en twijfelen.