Dela via


Skapa datumtabeller i Power BI Desktop

Den här artikeln beskriver bra designmetoder för att skapa datumtabeller i dina datamodeller när du använder Power BI Desktop.

Om du vill arbeta med tidsinformationsfunktioner för dataanalysuttryck (DAX) finns det ett krav på en förutsättningsmodell: Du måste ha minst en datumtabell i din modell. En datumtabell är en tabell som uppfyller följande krav:

  • Den måste ha en kolumn med datatypsdatum (eller datum/tid) – som kallas datumkolumnen.
  • Datumkolumnen måste innehålla unika värden.
  • Datumkolumnen får inte innehålla BLANK:er.
  • Datumkolumnen får inte ha några datum som saknas.
  • Datumkolumnen måste sträcka sig över hela år. Ett år är inte nödvändigtvis ett kalenderår (januari-december).
  • Datumtabellen måste markeras som en datumtabell.

Du kan använda någon av flera tekniker för att lägga till en datumtabell i din modell:

  • Alternativet Automatiskt datum/tid
  • Power Query för att ansluta till en datumdimensionstabell
  • Power Query för att generera en datumtabell
  • DAX för att generera en datumtabell
  • DAX för att klona en befintlig datumtabell

Dricks

En datumtabell är kanske den mest konsekventa funktion som du lägger till i någon av dina modeller. I en organisation bör dessutom en datumtabell definieras konsekvent. Oavsett vilken teknik du väljer att använda rekommenderar vi därför att du skapar en Power BI Desktop-mall som innehåller en fullständigt konfigurerad datumtabell. Dela mallen med alla modellerare i din organisation. Så när någon utvecklar en ny modell kan de börja med en konsekvent definierad datumtabell.

Använd automatiskt datum/tid

Alternativet Automatiskt datum/tid ger bekväm, snabb och lätt att använda tidsinformation. Rapportförfattare kan arbeta med tidsinformation när de filtrerar, grupperar och går nedåt genom kalendertidsperioder.

Vi rekommenderar att du endast har alternativet Automatiskt datum/tid aktiverat när du arbetar med kalendertidsperioder och när du har förenklade modellkrav i förhållande till tid. Det kan också vara praktiskt att använda det här alternativet när du skapar ad hoc-modeller eller utför datautforskning eller profilering. Den här metoden stöder dock inte en enda datumtabelldesign som kan sprida filter till flera tabeller. Mer information finns i Vägledning för automatisk datum/tid i Power BI Desktop.

Anslut med Power Query

När datakällan redan har en datumtabell rekommenderar vi att du använder den som källa för din modelldatumtabell. Det är vanligtvis fallet när du ansluter till ett informationslager, eftersom det har en datumdimensionstabell. På så sätt utnyttjar din modell en enda sanningskälla för tid i din organisation.

Om du utvecklar en DirectQuery-modell och datakällan inte innehåller någon datumtabell rekommenderar vi starkt att du lägger till en datumtabell i datakällan. Den bör uppfylla alla modelleringskrav för en datumtabell. Du kan sedan använda Power Query för att ansluta till datumtabellen. På så sätt kan dina modellberäkningar utnyttja DAX-tidsinformationsfunktionerna.

Generera med Power Query

Du kan generera en datumtabell med Hjälp av Power Query. Mer information finns i Chris Webbs blogginlägg Generera en datumdimensionstabell i Power Query.

Dricks

Om du inte har något informationslager eller någon annan konsekvent definition för tid i din organisation kan du använda Power Query för att publicera ett dataflöde. Låt sedan alla datamodellerare ansluta till dataflödet för att lägga till datumtabeller i sina modeller. Dataflödet blir den enda sanningskällan för tid i din organisation.

Om du behöver generera en datumtabell bör du överväga att göra det med DAX. Du kanske tycker att det är enklare. Dessutom är det förmodligen enklare eftersom DAX innehåller inbyggd intelligens för att förenkla skapandet och hanteringen av datumtabeller.

Generera med DAX

Du kan generera en datumtabell i din modell genom att skapa en beräknad tabell med dax-funktionerna CALENDAR eller CALENDARAUTO . Varje funktion returnerar en tabell med en kolumn med datum. Du kan sedan utöka den beräknade tabellen med beräknade kolumner för att stödja dina krav på datumintervallfiltrering och gruppering.

  • Använd funktionen CALENDAR när du vill definiera ett datumintervall. Du skickar in två värden: startdatum och slutdatum. Dessa värden kan definieras av andra DAX-funktioner, till exempel MIN(Sales[OrderDate]) eller MAX(Sales[OrderDate]).
  • Använd funktionen CALENDARAUTO när du vill att datumintervallet automatiskt ska omfatta alla datum som lagras i modellen. Du kan skicka in en enskild valfri parameter som är årets slutmånad (om ditt år är ett kalenderår, som slutar i december, behöver du inte skicka in ett värde). Det är en användbar funktion eftersom den säkerställer att fullständiga år av datum returneras – det är ett krav för en markerad datumtabell. Dessutom behöver du inte hantera att utöka tabellen till kommande år: När en datauppdatering är klar utlöser den omberäkningen av tabellen. En omberäkning utökar automatiskt tabellens datumintervall när datum för ett nytt år läses in i modellen.

Dricks

Mer information om hur du skapar beräknade tabeller, inklusive ett exempel på hur du skapar en datumtabell, finns i utbildningsmodulen Lägg till beräknade tabeller och kolumner i Power BI Desktop-modeller .

Klona med DAX

När din modell redan har en datumtabell och du behöver ytterligare en datumtabell kan du enkelt klona den befintliga datumtabellen. Det är fallet när datum är en rollspelsdimension. Du kan klona en tabell genom att skapa en beräknad tabell. Det beräknade tabelluttrycket är bara namnet på den befintliga datumtabellen.

Mer information om den här artikeln finns i följande resurser: