Designvejledning til datotabeller i Power BI Desktop
I denne artikel beskrives gode designpraksisser til oprettelse af datotabeller i dine datamodeller, når du bruger Power BI Desktop.
En datotabel er den mest almindelige tabel, der bruges til analyse. Den gemmer én række pr. dato og understøtter det almindelige krav om at filtrere eller gruppere efter bestemte datoer, f.eks. år, kvartaler eller måneder.
Hvis du vil arbejde med DAX-funktioner (Data Analysis Expressions), skal din datamodel desuden have mindst én datotabel. En datotabel er en modeltabel, der opfylder følgende krav:
- Den skal have en kolonne af datatypen dato (eller dato/klokkeslæt) – kendt som datokolonnen.
- Datokolonnen skal indeholde entydige værdier.
- Datokolonnen må ikke indeholde TOMME VÆRDIER.
- Datokolonnen må ikke have manglende datoer.
- Datokolonnen skal strække sig over hele år. Et år er ikke nødvendigvis et kalenderår (januar-december).
- Datotabellen skal være markeret som en datotabel.
Du kan bruge en af flere teknikker til at føje en datotabel til din model:
- Brug automatisk dato/klokkeslæt
- Opret forbindelse til Power Query- (til en eksisterende dato- dimensionstabel)
- Opret med Power Query
- Generér med DAX
- Klon med DAX
Tip
En datotabel er måske den mest ensartede funktion, du føjer til nogen af dine datamodeller. I en organisation skal der defineres en datotabel på en ensartet måde. Så uanset hvilken teknik du beslutter dig for at bruge, anbefaler vi, at du opretter en Power BI Desktop-skabelon , der indeholder en fuldt konfigureret datotabel. Del skabelonen med alle dataudformere i din organisation. Så når nogen udvikler en ny datamodel, kan de begynde med en datotabel, der er defineret på en ensartet måde.
Brug automatisk dato/klokkeslæt
Indstillingen Automatisk dato/klokkeslæt giver praktisk, hurtig og brugervenlig time intelligence. Rapportforfattere kan arbejde med time intelligence ved filtrering, gruppering og detailudledning via tidsperioder i kalenderen.
Vi anbefaler, at du kun aktiverer indstillingen Automatisk dato/klokkeslæt, når du arbejder med kalendertidsperioder, og når du har forenklede modelkrav i forhold til tid. Du kan også bruge denne indstilling, når du opretter ad hoc-modeller eller udfører dataudforskning eller profilering. Denne fremgangsmåde understøtter dog ikke et enkelt datotabeldesign, der kan overføre filtre til flere tabeller. Du kan finde flere oplysninger i Vejledning til automatisk dato/klokkeslæt i Power BI Desktop.
Opret forbindelse til Power Query
Når datakilden allerede har en datotabel, anbefaler vi, at du bruger den som kilde til din modeldatotabel. Det er typisk tilfældet, når du opretter forbindelse til et data warehouse, da det allerede skulle have en datodimensionstabel. På denne måde bruger din model en enkelt kilde til sandhed til tiden i din organisation.
Hvis du udvikler en DirectQuery-model, og din datakilde ikke indeholder en datotabel, anbefaler vi på det kraftigste, at du føjer en datotabel til datakilden. Den skal opfylde alle modelleringskravene i en datotabel. Du kan derefter bruge Power Query til at oprette forbindelse til datotabellen. På denne måde kan dine modelberegninger bruge DAX-time intelligence-funktionerne.
Opret med Power Query
Du kan generere en datotabel ved hjælp af Power Query. Du kan få flere oplysninger i Chris Webbs blogindlæg Oprettelse af en datodimensionstabel i Power-forespørgsel.
Tip
Hvis du ikke har et data warehouse eller en anden ensartet definition af tid i din organisation, kan du overveje at bruge Power Query til at publicere et dataflow. Derefter skal alle dataudformere oprette forbindelse til dataflowet for at føje datotabeller til deres modeller. Dataflowet bliver den eneste kilde til sandhed for tiden i din organisation.
Hvis du har brug for at generere en datotabel, kan du overveje at gøre det med DAX. Du finder det måske nemmere. Desuden vil det sandsynligvis være mere praktisk, fordi DAX indeholder indbygget intelligens for at forenkle oprettelse og administration af datotabeller.
Generér med DAX
Du kan generere en datotabel i din model ved at oprette en beregnet tabel ved hjælp af dax-funktionen CALENDAR eller CALENDARAUTO . Hver funktion returnerer en tabel med en enkelt kolonne med datoer. Du kan derefter udvide den beregnede tabel med beregnede kolonner for at understøtte kravene til filtrering og gruppering af datointervaller.
- Brug funktionen
CALENDAR
, når du vil definere et datointerval. Du overfører to værdier: startdatoen og slutdatoen. Disse værdier kan defineres af andre DAX-funktioner, f.eksMIN(Sales[OrderDate])
. ellerMAX(Sales[OrderDate])
. - Brug funktionen
CALENDARAUTO
, når datointervallet automatisk skal omfatte alle datoer, der er gemt i modellen. Du kan angive en enkelt valgfri parameter, der er årets slutmåned (hvis dit år er et kalenderår, der slutter i december, behøver du ikke at angive en værdi). Det er en nyttig funktion, fordi den sikrer, at der returneres hele år med datoer, så det opfylder kravet til en markeret datotabel. Derudover behøver du ikke at udvide tabellen med rækker for fremtidige år. Det skyldes, at når en dataopdatering er fuldført, udløser den genberegningen af tabellen. En genberegning udvider automatisk datointervallet i tabellen, når datoer for et nyt år indlæses i modellen.
Tip
Du kan få flere oplysninger om oprettelse af beregnede tabeller, herunder et eksempel på, hvordan du opretter en datotabel, ved at gennemgå læringsmodulet Føj beregnede tabeller og kolonner til Power BI Desktop-modeller .
Overvej også at bruge et gratis værktøj med åben kildekode som en hjælp til at administrere datoer med DAX. Du kan få flere oplysninger under Bravo til Power BI.
Klon med DAX
Når din datamodel allerede har en datotabel, og du har brug for en anden datotabel – når dato er en dimension med forskellige roller, kan du nemt klone den eksisterende datotabel. Du kan klone en tabel ved at oprette en beregnet tabel. Det beregnede tabeludtryk er blot navnet på den eksisterende datotabel.
Hvis du f.eks. vil oprette en Ship Date
tabel, der kloner Date
tabellen, skal du bruge følgende beregnede tabeludtryk.
Ship Date = 'Date'
Bemærk
Når du kloner en tabel med DAX, oprettes der kun kolonner. Den anvender ikke nogen modelegenskaber fra den klonede tabel, f.eks. formater eller beskrivelser. Hierarkier klones heller ikke.
Relateret indhold
Du kan få flere oplysninger, der er relateret til denne artikel, i følgende ressourcer:
- Automatisk dato/klokkeslæt i Power BI Desktop
- Vejledning til automatisk dato/klokkeslæt i Power BI Desktop
- Angiv og brug datotabeller i Power BI Desktop
- Selvbetjent dataforberedelse i Power BI
- Funktionen CALENDAR (DAX)
- Funktionen CALENDARAUTO (DAX)
- Spørgsmål? Prøv at spørge Fabric Community
- Forslag? Bidrag med idéer til at forbedre Fabric