Delen via


Ontwerprichtlijnen voor datumtabellen in Power BI Desktop

In dit artikel worden goede ontwerpprocedures beschreven voor het maken van datumtabellen in uw gegevensmodellen wanneer u Power BI Desktop gebruikt.

Een datumtabel is de meest voorkomende tabel die wordt gebruikt voor analyse. Er wordt één rij per datum opgeslagen en het ondersteunt de algemene vereiste om te filteren of te groeperen op specifieke perioden van datums, zoals jaren, kwartalen of maanden.

Bovendien moet uw gegevensmodel ten minste één datumtabel hebben om te kunnen werken met DAX-functies (Data Analysis Expressions). Een datumtabel is een modeltabel die voldoet aan de volgende vereisten:

  • Deze moet een kolom met gegevenstypedatum (of datum/tijd) hebben, ook wel de datumkolom genoemd.
  • De datumkolom moet unieke waarden bevatten.
  • De datumkolom mag geen LEGE WAARDEN bevatten.
  • De datumkolom mag geen ontbrekende datums bevatten.
  • De datumkolom moet volledige jaren omvatten. Een jaar is niet noodzakelijkerwijs een kalenderjaar (januari-december).
  • De datumtabel moet worden gemarkeerd als een datumtabel.

U kunt een van de volgende technieken gebruiken om een datumtabel toe te voegen aan uw model:

Tip

Een datumtabel is misschien wel de meest consistente functie die u aan een van uw gegevensmodellen toevoegt. Binnen een organisatie moet een datumtabel consistent worden gedefinieerd. Daarom raden we u aan een Power BI Desktop-sjabloon te maken die een volledig geconfigureerde datumtabel bevat. Deel de sjabloon met alle gegevensmodelleerders in uw organisatie. Dus wanneer iemand een nieuw gegevensmodel ontwikkelt, kunnen ze beginnen met een consistent gedefinieerde datumtabel.

Automatische datum/tijd gebruiken

De optie Automatische datum/tijd biedt handige, snelle en gebruiksvriendelijke time intelligence. Auteurs van rapporten kunnen met time intelligence werken bij het filteren, groeperen en inzoomen op kalenderperioden.

We raden u aan de optie Automatische datum/tijd alleen ingeschakeld te laten wanneer u met kalenderperioden werkt en wanneer u eenvoudige modelvereisten hebt ten opzichte van tijd. U kunt deze optie ook gebruiken bij het maken van ad-hocmodellen of het uitvoeren van gegevensverkenning of profilering. Deze benadering biedt echter geen ondersteuning voor één datumtabelontwerp dat filters kan doorgeven aan meerdere tabellen. Zie de richtlijnen voor automatische datum/tijd in Power BI Desktop voor meer informatie.

Verbinding maken met Power Query

Wanneer uw gegevensbron al een datumtabel heeft, raden we u aan deze te gebruiken als de bron van uw modeldatumtabel. Dit is meestal het geval wanneer u verbinding maakt met een datawarehouse, omdat deze al een datumdimensietabel moet hebben. Op deze manier gebruikt uw model één bron van waarheid voor tijd in uw organisatie.

Als u een DirectQuery-model ontwikkelt en uw gegevensbron geen datumtabel bevat, raden we u ten zeerste aan een datumtabel toe te voegen aan de gegevensbron. Deze moet voldoen aan alle modelleringsvereisten van een datumtabel. Vervolgens kunt u Power Query gebruiken om verbinding te maken met de datumtabel. Op deze manier kunnen uw modelberekeningen gebruikmaken van de DAX-mogelijkheden voor time intelligence.

Genereren met Power Query

U kunt een datumtabel genereren met behulp van Power Query. Zie het blogbericht van Chris Webb voor meer informatie over het genereren van een datumdimensietabel in Power Query.

Tip

Als u geen datawarehouse of een andere consistente definitie voor tijd in uw organisatie hebt, kunt u Power Query gebruiken om een gegevensstroom te publiceren. Laat vervolgens alle gegevensmodelleerders verbinding maken met de gegevensstroom om datumtabellen toe te voegen aan hun modellen. De gegevensstroom wordt de enige bron van waarheid voor tijd in uw organisatie.

Als u een datumtabel wilt genereren, kunt u dit doen met DAX. Misschien is het makkelijker. Bovendien is het waarschijnlijk handiger, omdat DAX ingebouwde intelligentie bevat om het maken en beheren van datumtabellen te vereenvoudigen.

Genereren met DAX

U kunt een datumtabel in uw model genereren door een berekende tabel te maken met behulp van de DAX-functie CALENDAR of CALENDARAUTO . Elke functie retourneert een tabel met één kolom met datums. Vervolgens kunt u de berekende tabel uitbreiden met berekende kolommen ter ondersteuning van de vereisten voor filteren en groeperen van datuminterval.

  • Gebruik de CALENDAR functie als u een datumbereik wilt definiëren. U geeft twee waarden door: de begindatum en einddatum. Deze waarden kunnen worden gedefinieerd door andere DAX-functies, zoals MIN(Sales[OrderDate]) of MAX(Sales[OrderDate]).
  • Gebruik de CALENDARAUTO functie als u wilt dat het datumbereik automatisch alle datums omvat die zijn opgeslagen in het model. U kunt één optionele parameter doorgeven die de eindmaand van het jaar is (als uw jaar een kalenderjaar is, dat eindigt op december, hoeft u geen waarde door te geven). Het is een handige functie omdat het ervoor zorgt dat volledige jaren aan datums worden geretourneerd en dus voldoet aan de vereiste voor een gemarkeerde datumtabel. Bovendien hoeft u de tabel niet uit te breiden met rijen voor toekomstige jaren. Dat komt doordat wanneer een gegevensvernieuwing is voltooid, de herberekening van de tabel wordt geactiveerd. Een herberekening breidt automatisch het datumbereik van de tabel uit wanneer datums voor een nieuw jaar in het model worden geladen.

Tip

Voor meer informatie over het maken van berekende tabellen, inclusief een voorbeeld van het maken van een datumtabel, kunt u de leermodule berekende tabellen en kolommen toevoegen aan Power BI Desktop-modellen .

U kunt ook een gratis opensource-hulpprogramma gebruiken om datums met DAX te beheren. Zie Bravo voor Power BI voor meer informatie.

Klonen met DAX

Wanneer uw gegevensmodel al een datumtabel heeft en u een andere datumtabel nodig hebt. Wanneer datum een dimensiedimensie voor rollenspel is, kunt u de bestaande datumtabel eenvoudig klonen. U kunt een tabel klonen door een berekende tabel te maken. De expressie van de berekende tabel is gewoon de naam van de bestaande datumtabel.

Als u bijvoorbeeld een Ship Date tabel wilt maken waarmee de Date tabel wordt gekloond, gebruikt u de volgende berekende tabelexpressie.

Ship Date = 'Date'

Notitie

Wanneer u een tabel kloont met DAX, worden alleen kolommen gemaakt. Er worden geen modeleigenschappen uit de gekloonde tabel toegepast, zoals indelingen of beschrijvingen. Hiërarchieën worden ook niet gekloond.

Raadpleeg de volgende bronnen voor meer informatie over dit artikel: