Wanneer je in je datawarehouse geen datum dimensie hebt of als je op een andere wijze data ontsluit via Power BI, dan kun je binnen Power BI handmatig een datumdimensie creëren.

Een datumdimensie heb je nodig om datum gerelateerde meetwaarden en analyses te kunnen maken. Hou hierbij rekening dat je datum dimensie alle datums bevat die ook in je data voor kan komen. Heb je bijvoorbeeld data uit 2016, zorg dan dat je datum dimensie in ieder geval stat op 1 januari 2016 tot en met nu. Heb je ook data voor de toekomst, dan geldt hiervoor hetzelfde dat je de datum dimensie ook alle date voor in de toekomst bevat

Voorbereiding

power bi nieuwe bron

Start als eerste Power BI op. Zodra je dit hebt gedaan ga je in de ribbon bovenin naar ‘Gegevens transformeren’

Klik vervolgens in het nieuwe venster dat opent op ‘Nieuwe bron’ > ‘Lege Query’

Aan de linkerkant verschijnt nu ‘Query 1’. Klik hier met je rechtermuisknop op en klik vervolgens op ‘Naam wijzigingen’

Verander de naam van de query in ‘dim Date’. Nu je basis staat, kun je de dim Date gaan vullen met datums

Datum dimensie vullen

Nu de basis staat, kunnen we de dimensie gaan vullen. Om dit proces eenvoudig te maken, vindt je hier onder de code die je kunt kopiëren. Kopieer onderstaande code en ga terug naar Power BI. In de ribbon klik op de knop ‘Geavanceerde editor’ en plak daar de code. Klik vervolgens op gereed om de geavanceerde editor te sluiten.

power bi geavanceerde editor
let
StartDate = #date(2015,1,1),
EndDate = #date(2022,12,31),
NumberOfDays = Duration.Days( EndDate - StartDate ),
Dates = List.Dates(StartDate, NumberOfDays+1, #duration(1,0,0,0)),
#"Converted to Table" = Table.FromList(Dates, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Renamed Columns" = Table.RenameColumns(#"Converted to Table",{{"Column1", "Date"}}),
#"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Date", type date}}),
#"Inserted Year" = Table.AddColumn(#"Changed Type", "YearNo", each Date.Year([Date]), type number),
#"Inserted Month" = Table.AddColumn(#"Inserted Year", "MonthNo", each Date.Month([Date]), type number),
#"Inserted Month Name" = Table.AddColumn(#"Inserted Month", "Month Name", each Date.MonthName([Date]), type text),
#"Inserted Quarter" = Table.AddColumn(#"Inserted Month Name", "QuarterNo", each Date.QuarterOfYear([Date]), type number),
#"Inserted Week of Year" = Table.AddColumn(#"Inserted Quarter", "WeekNo", each Date.WeekOfYear([Date]), type number),
#"Inserted Day" = Table.AddColumn(#"Inserted Week of Year", "Day of Month", each Date.Day([Date]), type number),
#"Inserted Day of Week" = Table.AddColumn(#"Inserted Day", "Day of Week", each Date.DayOfWeek([Date]), type number),
#"Inserted Day of Year" = Table.AddColumn(#"Inserted Day of Week", "Day of Year", each Date.DayOfYear([Date]), type number),
#"Inserted Day Name" = Table.AddColumn(#"Inserted Day of Year", "Day Name", each Date.DayOfWeekName([Date]), type text)
in

De code bouwt een lijst van data op vanaf 1 januari 2015 tot en met 31 december 2022. Wil je een groter datum bereik, pas dan in de code het jaartal aan op de eerste (StartDate) en tweede regel (EndDate) aan.

Is de dimensie naar wens, dan kun je links bovenin de ribbon klikken op ‘Sluiten en toepassen’. De datum dimensie is nu beschikbaar.

Markeren als datum tabel

De laatste stap is de dim date markeren als datum tabel.
Ga met je muis naar de ‘dim Date’. Je ziet er rechts naast drie puntjes verschijnen.

Klik op de drie puntjes en ga vervolgens naar ‘Als datumtabel markeren’ > ‘Als datumtabel markeren’

In het scherm dat vervolgens verschijnt, kies in de dropdown de ‘Date’ kolom om te gebruiken voor de datums. Wanneer dit allemaal goed gaat, dan verschijnt ‘gevalideerd’ in beeld.

power bi markeren als datumtabel