Yorrick Zijlstra · Maart 2026 · 7 min leestijd
Een datumtabel is één van de meest essentiële bouwstenen van een goed Power BI-model. Toch zien we regelmatig modellen waar deze ontbreekt, of waar de datumtabel niet goed is ingericht. Het resultaat: Time Intelligence-functies werken niet, je kunt geen periodevergleking maken, en je DAX wordt onnodig complex. In dit artikel leggen we uit waarom een datumtabel cruciaal is en tonen we drie praktische methoden om er één op te zetten.
De kern: veel geavanceerde DAX-functies werken niet zonder een goed ingericht datumtabel. Denk aan Time Intelligence-functies zoals DATEADD, SAMEPERIODLASTYEAR, YTD, QTD en MTD. Deze functies vertrouwen erop dat je datumtabel:
Zonder datumtabel kun je ook geen schone filters op datum toepassen in slicers, en je filtercontext is onpredictabel. Een goed datumtabel is dus niet luxe, maar noodzaak.
Dit is de klassieke aanpak: je maakt een lege tabel in je model en vult deze met DAX. Het voordeel: volledige controle over de datum-range.
Datumtabel = CALENDAR(DATE(2020,1,1), DATE(2026,12,31))
Deze enkele regel maakt een tabel met alle datums van 1 januari 2020 tot en met 31 december 2026. De kolom heet standaard "Date".
Dit is snel en eenvoudig, maar je kunt nog geen extra kolommen toevoegen (jaar, kwartaal, maandnaam, enz.) door hier gewoon meer code toe te voegen. Je kunt ze later toevoegen als calculated columns, maar beter is Methode 3 (Power Query).
Als je wilt dat Power BI automatisch de juiste datum-range bepaalt op basis van je data, gebruik je CALENDARAUTO():
Datumtabel = CALENDARAUTO()
Power BI scant automatisch alle datum-kolommen in je model en maakt een tabel van de eerste tot de laatste datum. Handig, maar je hebt minder controle. Als je bijvoorbeeld wilt dat je datumtabel al in 2010 begint (terwijl je data pas in 2020 start), kun je dat niet instellen.
Tip: CALENDARAUTO(12) bepaalt dat het jaar eindigt in december (nuttig als je een fiscaal jaar anders loopt).
Dit is hoe je het in een echte productieomgeving doet. In Power Query kun je een volledige, schone datumtabel bouwen met alle benodigde kolommen:
let
StartDate = #date(2020, 1, 1),
EndDate = #date(2026, 12, 31),
DateCount = Duration.Days(EndDate - StartDate) + 1,
Dates = List.Dates(StartDate, DateCount, #duration(1, 0, 0, 0)),
DateTable = Table.FromList(Dates, Splitter.SplitByNothing(), {"Date"}, null, ExtraValues.Error),
DateColumnType = Table.TransformColumnTypes(DateTable, {{"Date", type date}}),
AddYear = Table.AddColumn(DateColumnType, "Year", each Date.Year([Date]), type number),
AddMonth = Table.AddColumn(AddYear, "Month", each Date.Month([Date]), type number),
AddMonthName = Table.AddColumn(AddMonth, "MonthName", each Text.Proper(Date.MonthName([Date])), type text),
AddQuarter = Table.AddColumn(AddMonthName, "Quarter", each "Q" & Text.From(Date.QuarterOfYear([Date])), type text),
AddWeekNum = Table.AddColumn(AddQuarter, "WeekNum", each Date.WeekOfYear([Date]), type number),
AddDayOfWeek = Table.AddColumn(AddWeekNum, "DayOfWeek", each Text.Proper(Date.DayOfWeekName([Date])), type text)
in
AddDayOfWeek
Deze query maakt een schone datumtabel met kolommen voor jaar, maand, maandnaam, kwartaal, weeknummer en weekdagnaam. Dit is hoe professionals het doen: alles in Power Query, niet in DAX.
Een goed datumtabel bevat minstens deze kolommen:
Optioneel voeg je ook toe:
Dit stap is kritiek. Na het laden van je datumtabel:
Nu weet Power BI dat dit je datumtabel is, en kunnen Time Intelligence-functies werken. Je ziet in het model ook dat de datumtabel een klein kalendericoontje krijgt.
Een paar gouden regels:
Met een goed datumtabel kun je geavanceerde Time Intelligence-maten bouwen. Patronen zoals YTD (Year-To-Date), QTD (Quarter-To-Date) en MTD (Month-To-Date) vereisen een datumtabel. Check onze Measure Patronen bibliotheek voor kant-en-klare voorbeelden van deze maten.
Een datumtabel is geen luxe, maar noodzaak in Power BI. Kies voor Methode 1 (CALENDAR) voor snelheid, Methode 2 (CALENDARAUTO) voor automatisering, of Methode 3 (Power Query) voor professionele controle. Voeg de juiste kolommen toe, markeer de tabel in het model, en zorg voor een ononderbroken datumreeks. Daarmee heb je de basis voor krachtige Time Intelligence en schone, efficiënte DAX.
YorrData helpt bij het opzetten van een goed datumtabel en de hele modelstructuur.
Neem contact op →Formatteer je DAX met de DAX Formatter, zoek functies in de Cheat Sheet, of kopieer patronen uit de Measure Patronen bibliotheek.