En datamodell i Power BI behöver innehålla en datumtabell. En datumtabell kan också kallas för en DimDate eller kalender.

I denna artikel får du lära dig att

  • Skapa datumtabell i Power BI genom att använda DAX
  • Sortera veckodagar och månader i rätt ordning (inte i bokstavsordning utan jan, feb, mars…)
  • Koppla datumtabellen till din modell
  • Välja ISO-datum

Datumtabellen i Power BI innehåller

  • Datum
  • År
  • Kvartal
  • Månad som siffra
  • Månad som text (jan, feb)
  • Veckonummer
  • Veckodag som siffra
  • Veckodag på svenska
  • Månad text-år
  • År-månad som siffra
  • År-vecka
  • Dagtyp – vardag/helg

Skapa datumtabell i Power BI genom att använda DAX

1. Skapa en ny tabell

Det första du måste göra, är att skapa en ny tabell. I den skapar du sedan din datumtabell i Power BI genom att skriva enkel DAX-syntax för att skapa nya kolumner.

GÖR SÅ HÄR:

  • Välj ”New table” i “Home”-menyn eller bland “Table tools”.
    OBS. Välj inte “Enter data”.

2. Datumkolumn

Det första du måste göra är att skapa en kolumn med datum som resten av datumtabellen sedan utgår ifrån. Du kan skapa kolumnen på flera olika sätt, nedan är tre olika sätt.

Utgå från redan existerande tabell med datum

Om du redan har en tabell som innehåller en kolumn med datum, exempelvis med transaktioner, kan du låta Power BI skapa en passande kalendertabell genom CALENDARAUTO().

CALENDARAUTO() genererar en kolumn med alla datum, från 1:a januari till 31:a december, baserat på minsta och högsta datum i din modell.

Om du har transaktioner mellan 2021-06-01 – 2023-05-31, får du en kolumn med alla unika datum för perioden 2021-01-01 – 2023-12-31.

GÖR SÅ HÄR:

  • Byt ut texten “Table =”  mot DAX: Datum = CALENDARAUTO()

Utgå från specifika tabller i din Power BI modell

Om du vill skapa en kalender som utgår från specifika tabeller och kolumner, exempelvis försäljning och framtida prognos, kan du använda CALENDAR(), MINX och MAXX.

GÖR SÅ HÄR:

DAX syntax är enligt nedan, fyll i passande tabell och kolumn i tabell, [kolumn]. Se exempel från vår Biizt-datamodell i bilden.

Datum = CALENDAR(MINX(tabell, [kolumn], MAXX(tabell,[kolumn])

Datum = CALENDAR(MINX(Sälj, datum), MAXX(Prognos, datum)

Utgå från specifika datum

Om du istället vill skapa en datumtabell i Power BI där du själv väljer datumen, använder du CALENDAR istället.

GÖR SÅ HÄR:

DAX syntax är enligt nedan, välj passande datum inom DATE().

Datum = CALENDAR(DATE(2022,1,1), DATE(2023,1,1))

Du kan även begränsa så att tabellen inte får några datum i framtiden

Datum = CALENDAR(DATE(2022,1,1),TODAY())

Lägg till fler kolumner i datumtabellen

För att sedan lägga till de kolumner du behöver ha i din datumtabell i Power BI, exempelvis “år”, behöver du lägga till kolumner.

GÖR SÅ HÄR:

Du kan lägga till en ny kolumn på flera sätt.

  1. Du kan lägga till en kolumn genom menyn.
  2. Du kan högerklicka på den tabell i Data-fältet där du vill lägga till kolumnen och välja ”New column”. Denna kolumn bli en ”calculated column” eller beräknad kolumn på svenska.
  3. Du kan högerklicka i tabellen där du står och välja ”New Column”.

3. År i Power BI datumtabell

Att ha år som en egen kolumn är nästan ett måste. Börja med att lägga till en kolumn enligt någon av instruktionerna ovan.

GÖR SÅ HÄR:

Byt sedan ut texten “Column =”

mot

År = YEAR(Datum[Date])

Du får en kolumn som består av årtalet.

4. Kvartal i Power BI datumtabell

Kvartal är ett ganska vanligt tidsspann i rapporter. Du lägger enkelt till kvartal till din Power BI datumtabell genom en kort DAX-funktion.

GÖR SÅ HÄR:

Lägg till en ny kolumn och skriv in DAX:

Kvartal = QUARTER(Datum[Date])

För att skapa en kolumn med både kvartal och årtal, lägger du till en kolumn med DAX

Q och År = “Q” & Datum[Kvartal] & “-” & Datum[År]

5. Månad som siffra

Månad som siffra, exempelvis 1 för januari, används inte så ofta i visualiseringar. Däremot behövs den som en stödkolumn för sorteringar och för DAX-mätetal. Du kan döpa om kolumnen till annat om du vill, det gäller alla kolumner.

GÖR SÅ HÄR:

Lägg till en kolumn och DAX:

Månad siffra = MONTH(Datum[Date])

6. Månad som text i Power BI datumtabell

En rapport redovisar ofta värden per månad. För att skapa en kolumn med månaders namn, kan kan man kombinera olika DAX-funktioner, som FORMAT och MONTH. Man kan även välja hur månaderna visas, ex jan eller januari.

GÖR SÅ HÄR:

DAX:

Månad = FORMAT(Datum[Date],”mmm”)

För att få månaderna på svenska lägger man till information om språk och land.

DAX:

Månad = FORMAT(MONTH(Datum[Date],”mmm”, “sv-SE”)

Språk och land går att byta ut mot andra språk, vill du exempelvis ha månaderna i din datumtabell i Power BI på finska, byter du ut ”sv-SE” mot ”fi-FI”.

För att få månaderna helt utskrivna, alltså december istället för dec, ändrar man antal ”m” till 4 st.

Månad = FORMAT(MONTH(Datum[Date]),”mmmm”, “sv-SE”)

Sortera visualiseringar i månadsordning

För att kunna använda månad som sortering, behöver du välja en kolumn som kan sortera rätt.

  • Eftersom månaderna är text, sorteras de i bokstavsordning om man inte väljer något.

GÖR SÅ HÄR:

  • Välj sortering av “Månad” enligt kolumn “Månad siffra” och visualiseringen sorteras i tidsordning.

7. Veckonummer

Många rapporter följs på veckonivå, därför är det viktigt att ha med veckonummer. Veckonummer är inte alltid helt lätt eller rätt, då det finns olika sätt att räkna det på. Vissa år har 52 veckor, andra 53. I vissa länder börjar veckan på en söndag, andra på en måndag. Säkerställ att kalendern du tar fram fungerar som du tänkt.

GÖR SÅ HÄR:

DAX: Veckonummer = WEEKNUM(Datum[Date],21)

8. Veckodag som siffra

Veckodag som siffra används inte så ofta i visualiseringar, men den används ofta som stöd för sortering eller i DAX-mätetal. Denna kolumn i datumtabellen i Power BI är även väldigt bra för att kunna sortera veckodagarnas namn i rätt ordning så som de kommer under veckan, se nästa steg.

För att få veckan att börja på måndag, skriver man en 2:a på slutet.

GÖR SÅ HÄR:

DAX:

Veckodag = WEEKDAY(Kalender[Date],2)

9. Veckodag på svenska

Det är vanligt att man vill ha veckodagens namn i sina Power BI rapporter, exempelvis för att se försäljning under veckans olika dagar. För att skapa en sådan kolumn kan man utgå från datum, men formatera om den.

Att få veckodagarna på svenska är enkelt genom att definiera språk och land i [LocaleName] i syntaxen. LocaleName bygger på ISO-639, men här kan se en lista över Europeiska koder gratis.

GÖR SÅ HÄR:

DAX:

Veckodag = FORMAT(Datum[Date],”dddd”, “sv-SE”)

För att få veckodagarna på svenska, lägger man till ”sv-SE”. Vill man exempelvis hellre ha veckodagarna på finska skriver man ”fi-FI” eller för tyska ”de-DE”.

Sortera veckodag rätt

Veckodagarna är sparade som text, och sorteras i bokstavsordning.

För att man ska kunna sortera veckodagar i visualiseringar i den ordning de kommer under veckan, d.v.s. måndag, tisdag, onsdag, torsdag, fredag, lördag och söndag, måste man välja sortering enligt en annan kolumn.

Välj att sortera Veckodags-kolumnen i datumtabellen baserat på ”Veckodag siffra”. Sorteringen går att hitta på fler ställen i Power BI, bilden nedan är från Table view och Sort by Column som finns under Column tools.

10. Månad-år

Ibland behöver man ha en kombination av månad och år, exempelvis i en visualisering som visar ett värde över flera år.

Genom att kombinera kolumner med &-tecken, kan man enkelt skapa det man behöver.

DAX:

mån-år = Datum[Månad] & ” ” & Datum[År]

För att sortera detta i rätt ordning behöver man en kolumn med år och månad som siffror. Se i nästa steg hur man skapar en sådan i en datumtabell i Power BI.

Sedan väljer man att sortera Månad-år kolumnen enligt de siffrorna, som ju ökar med tiden.

11. År-månad som siffra

Använd FORMAT för att skapa en kolumn med formatet ÅÅÅÅMM.

mån-år-sort = FORMAT(Datum[Date],”yyyymm”)

12. Dagtyp – vardag eller helg

För att få reda på om det är vardag eller helg, kan man använda sig av siffrorna på veckodagarna,

DAX:

Dagtyp = IF(Datum[Veckodag siffra] > 5, “Helg”, “Vardag”)

Denna typ av information kan du sedan använda för att exempelvis ”drilla ned” i detaljer.

Använd datumtabellen i din modell

För att kunna använda kalendern för time intelligence, måste du markera kalendertabellen som ”datum tabell”. Det kan du göra genom att högerklicka på tabellen i Data-panelen.

Du kan också markera vad som är datumtabellen via Table view, där “Mark as date table” finns under Table tools.

Välj den kolumn som ska användas som ”grunddatum”.

Skapa relation till dina tabeller

För att kunna använda din skapade datumtabell i Power BI, behöver den också vara kopplad till din datamodell.

Skapa en relation mellan datumtabeller och den eller de kolumner du behöver använda kalendern i.

Datumtabell i Power BI

Detta är ett exempel på hur man kan utveckla en datumtabell i Power BI. Ibland använder man en tabell som finns i en databas och man kan också läsa in en excelfil som datumtabell om man skulle vilja det.

Det finns många andra kolumner man kan lägga till, exempelvis kan man komplettera med information om andra helgdagar, finansiella perioder mm. Låt kraven och behoven styra vad du fyller din datumtabell med.

Lär dig mer om Power BI hos oss på Databi. Snart lanseras vår första kurs!