Tijdintelligentie, YTD-analyses en datumtabel

Je begrijpt time intelligence functies en bouwt een datumtabel.

In de video maakt Frank de datumtabel met een lege query in Power Query. Hoe je de code gebruikt en hoe het ook met DAX kan, lees je hieronder.

Je kunt YTD-, MTD- en vergelijkingen met vorig jaar maken met behulp van een datumtabel in Power BI.

Stel: je wilt weten hoe je omzet zich ontwikkelt in de loop van het jaar. Of hoeveel beter je presteert dan vorig jaar. Klinkt eenvoudig, maar zonder een goede datumtabel lukt het je niet. En wat je dan krijgt, is dit:

  • Je YTD lijkt goed… maar stopt op 30 juni
  • Je omzet “vorig jaar” telt alles van januari t/m december, ook als je nu filtert op april
  • Je maandvergelijking geeft nul terug omdat de datum niet gevonden wordt

Dit gebeurt verrassend vaak. Tijdintelligentie in Power BI werkt namelijk alleen als je model aan een paar strenge eisen voldoet.

Waarom een datumtabel belangrijk is

Power BI heeft tijdsfuncties als TOTALYTD(), SAMEPERIODLASTYEAR().Maar die werken alleen als je:

  • Een aparte datumtabel hebt

datumtabel

  • Een relatie legt tussen die datumtabel en je feitentabel (bijv. Verkoopregels[Datum])
  • Alleen datums uit de datumtabel gebruikt in visuals en slicers

Gebruik je de datumkolom uit je transactiedata? Dan werken die functies niet goed. En krijg je verkeerde totalen of lege visuals.

niet goed

?Kennischeck

Waarom kun je niet gewoon de datumkolom uit je feitentabel gebruiken voor tijdintelligentie?

Hoe maak je een datumtabel

Gebruik net als in de video een lege query in Power Query met [datumtabel-powerquery.txt](/resources/datumtabel-powerquery.txt).

  1. 1Kies in Power BI Desktop Gegevens ophalen > Lege query.
  2. 2Open de Geavanceerde editor en plak de code uit het bestand.
  3. 3Geef de query de naam Kalender en kies Sluiten en toepassen.

De code bevat al kolommen voor jaar, maand en kwartaal. De datumkolom heet Date; hernoem die naar Datum voor de voorbeelden hieronder.

Als alternatief kun je de datumtabel met DAX maken, met CALENDAR of CALENDARAUTO:

dax
Datum = CALENDAR( DATE(2020, 1, 1), DATE(2025, 12, 31) )

Of laat Power BI het bereik automatisch bepalen op basis van je data:

dax
Datum = CALENDARAUTO()

Voeg daarna kolommen toe voor jaar, maand, kwartaal etc.:

dax
Jaar = YEAR( Datum[Date] )
Maandnummer = MONTH( Datum[Date] )
Maandnaam = FORMAT( Datum[Date], "MMMM" )
Kwartaal = "Q" & FORMAT( Datum[Date], "Q" )
Tip

CALENDARAUTO() scant alle datumkolommen in je model en maakt een tabel van 1 januari van het vroegste jaar tot 31 december van het laatste jaar. Handig, maar controleer altijd of het bereik klopt.

Een datumtabel handmatig in Excel bouwen is foutgevoelig en beperkt in schaalbaarheid. Gebruik de Power Query-code hierboven of kies de DAX-route.

Tijdintelligente measures maken

Voor deze voorbeelden heb je een datumtabel nodig genaamd "Kalender" met kolom Datum, die gekoppeld is aan Verkoopregels[Datum].

Verder lezen

Laat je naam en mailadres achter, dan lees je de rest

Je krijgt meteen de hele les, en alle andere lessen blijven daarna ook open. Geen wachtwoord, geen bevestigingsmail.

Je adres blijft bij ons. We verkopen niets door en je meldt je af met één klik.