Een datumtabel maken

Voltooid

Tijdens het maken van een rapport Power BI is het vaak nodig om berekeningen uit te voeren op basis van datum en tijd. Organisaties willen weten hoe het met de zaken gaat in de loop van maanden, kwartalen, boekjaren, zoals. Het is daarom van groot belang dat deze tijdgeoriënteerde waarden correct worden opgemaakt. Power BI automatisch einden voor datumkolommen en tabellen; Toch kunnen zich situaties voordoen waarin u extra stappen moet ondernemen om de datums in de indeling te krijgen die uw organisatie nodig heeft.

Stel dat u rapporten ontwikkelt voor het verkoopteam in uw organisatie. De database bevat tabellen voor verkoop, orders, producten, en meer. U ziet dat veel van deze tabellen, waaronder Verkoop en Orders, hun eigen datumkolommen bevatten, zoals wordt weergegeven in de kolommen ShipDate en OrderDate in de tabellen Verkoop en orders. U bent belast met het ontwikkelen van een tabel met de totale verkoop en orders per jaar en maand. Hoe kunt u een weergave maken met meerdere tabellen die elk verwijzen naar hun eigen datumkolommen?

Om dit probleem op te lossen, kunt u een algemene datumtabel maken die door meerdere tabellen kan worden gebruikt. In de volgende sectie wordt uitgelegd hoe u deze taak bereiken Power BI.

Een tabel met algemene datums maken

U kunt als volgende manieren een tabel met algemene datums maken:

  • Brongegevens

  • DAX

  • Power Query

Brongegevens

Brondatabases en gegevensmagazazen hebben af en toe al hun eigen datumtabellen. Als de beheerder die de database heeft ontworpen een uitgebreide taak heeft uitgevoerd, kunnen deze tabellen worden gebruikt om de volgende taken uit te voeren:

  • Bedrijfsdagen identificeren

  • Afzonderlijke kalender en boekjaar

  • Weekends versus weekdagen identificeren

Brongegevenstabellen zijn oudere tabellen en kunnen onmiddellijk worden gebruikt. Als u een tabel als zodanig hebt, brengt u deze naar uw semantische model en gebruikt u geen andere methoden die in deze sectie worden beschreven. Het wordt aangeraden een brondatumtabel te gebruiken, omdat deze waarschijnlijk wordt gedeeld met andere hulpprogramma's die u mogelijk gebruikt in aanvulling op Power BI.

Als u geen brongegevenstabel hebt, kunt u andere manieren gebruiken om een algemene datumtabel op te bouwen.

DAX

Met de DAX-functies (Data Analysis Expression) of CALENDAR() kunt u uw algemene datumtabel maken. De functie KALENDER() retourneert een aangrenzend datumbereik op basis van een begin- en einddatum die als argumenten in de functie zijn ingevoerd. Of de functie CALENDARAUTO() retourneert een aangrenzend, volledig datumbereik dat automatisch wordt bepaald door het semantische model. De begindatum wordt gekozen als de vroegste datum die in uw semantische model bestaat, en de einddatum is de laatste datum in uw semantische model plus gegevens die zijn ingevuld in de boekmaand die u als een argument kunt opnemen in de functie CALENDARAUTO(). Voor het doel van dit voorbeeld wordt de functie KALENDER() gebruikt, omdat u alleen de gegevens van 31 mei 2011 (de eerste dag dat Verkoop is begonnen met het traceren van deze gegevens) en vooruit wilt zien voor de volgende 10 jaar.

Selecteer Power BI Desktop Nieuwe tabel in, en voer vervolgens in de volgende DAX-formule in:

Dates  = CALENDAR(DATE(2011, 5, 31), DATE(2022, 12, 31))

Nu hebt u een kolom met datums die u kunt gebruiken. Deze kolom is echter enigszins afwijkend. U wilt ook kolommen voor alleen het jaar, het maandnummer, de week van het jaar en de dag van de week bekijken. U kunt dit jaar taak door Nieuwe kolom op het lint te selecteren en de volgende DAX-vergelijking in te geven, waarmee het jaar wordt opgehaald uit uw datumtabel.

Year = YEAR(Dates[Date])

U kunt hetzelfde proces uitvoeren om het maandnummer, het weeknummer en de dag van de week op te halen:

MonthNum = MONTH(Dates[Date])
WeekNum = WEEKNUM(Dates[Date])
DayoftheWeek = FORMAT(Dates[Date], "DDDD")

Wanneer u klaar bent, bevat uw tabel de kolommen die in de volgende afbeelding worden weergegeven.

U hebt nu een algemene datumtabel gemaakt met DAX. Bij dit proces wordt alleen uw nieuwe tabel toegevoegd aan het semantische model. U moet nog steeds relaties bepalen tussen uw datumtabel en de tabellen Verkoop en Order en markeer vervolgens uw tabel als de officiële datumtabel van uw semantische model. Voordat u deze taken uitvoert, moet u echter overwegen een andere manier van werken aan een algemene datumtabel: met behulp Power Query van.

Power Query

U kunt M-taal, de ontwikkelingstaal die wordt gebruikt om query's Power Query in te stellen, gebruiken om een algemene datumtabel te definiëren.

Selecteer Transformatiegegevens in Power BI Desktop, die u naar zullen sturen Power Query. Klik met de rechtermuisknop in de lege ruimte van het linker queryvenster om het volgende vervolgkeuzemenu te openen, waarin u Lege query nieuwe query > selecteert.

Voer in de resulterende nieuwe queryweergave de volgende M-formule in om een kalendertabel samen te leggen:

= List.Dates(#date(2011,05,31), 365*10, #duration(1,0,0,0))

Voor uw verkoopgegevens wilt u dat de begindatum de vroegste datum in uw gegevens weerspiegelt: 31 mei 2011. Bovendien wilt u datums voor de volgende 10 jaar bekijken, inclusief datums in de toekomst. Door deze benadering hoeft u deze tabel niet opnieuw te maken wanneer nieuwe verkoopgegevens stromen. U kunt de duur ook wijzigen. In dit geval wilt u een aanwijzen voor elke dag, maar u kunt ook verhogen met uren, minuten en seconden. De figuur hieronder geeft het resultaat weer.

Wanneer u het succes in het proces hebt gerealiseerd, ziet u dat u een lijst met datums hebt in plaats van een datumtabel. Als u deze fout wilt corrigeren, gaat u naar het tabblad Transformatie op het lint en selecteert u Converteren naar tabel > . Zoals de naam al doet, converteert deze functie uw lijst naar een tabel. U kunt de naam van de kolom ook wijzigen in DateCol.

Vervolgens wilt u kolommen aan uw nieuwe tabel toevoegen, zodat u de datums per jaar, maand, week en dag kunt bekijken, zodat u een hiërarchie kunt maken in uw weergave. De eerste taak is het wijzigen van het kolomtype door het pictogram naast de naam van de kolom te selecteren en in het vervolgkeuzemenu het datumtype te selecteren in het vervolgkeuzemenu.

Nadat u het selecteren van het datumtype hebt voltooid, kunt u kolommen toevoegen voor jaar, maanden, weken en dagen. Ga naar Kolom toevoegen, selecteer het vervolgkeuzemenu onder Datum en selecteer Jaar, zoals in de volgende afbeelding wordt weergegeven.

U ziet dat Power BI er een kolom is toegevoegd van alle jaren die afkomstig zijn uit DateCol.

Hetzelfde proces voltooien voor maanden, weken en dagen. Nadat u dit proces hebt voltooid, bevat de tabel de kolommen die in de volgende afbeelding worden weergegeven.

U hebt nu met succes een tabel Power Query met algemene datums gemaakt.

De vorige stappen laten zien hoe u de tabel naar het semantische model wilt halen. Nu moet u uw tabel markeren Power BI als officiële datumtabel zodat u deze voor alle toekomstige waarden kunt herkennen en ervoor kunt zorgen dat de opmaak juist is.

Markeren als officiële datumtabel

Uw eerste taak het markeren van uw tabel als officiële datumtabel is het zoeken naar de nieuwe tabel in het deelvenster Velden. Klik met de rechtermuisknop op de naam van de tabel en selecteer Markeer deze als datumtabel, zoals in de volgende afbeelding is weergegeven.

Door uw tabel als datumtabel te markeren, Power BI voert u validaties uit om ervoor te zorgen dat de gegevens nul nulwaarden bevatten, uniek zijn en doorlopende datumwaarden over een periode bevatten. U kunt ook specifieke kolommen in uw tabel kiezen om deze als datum te markeren, wat handig kan zijn als uw tabel veel kolommen bevat. Klik met de rechtermuisknop op de tabel, selecteer Markeren als datumtabel en selecteer vervolgens de instellingen in de datumtabel. Het volgende venster wordt weergegeven, waarin u kunt kiezen welke kolom als datum moet worden gemarkeerd.

Als u De datumtabel selecteert , worden automatisch gegenereerde hiërarchieën verwijderd uit het veld Datum in de tabel die u hebt gemarkeerd als datumtabel. Voor andere datumvelden blijft de automatische hiërarchie aanwezig totdat u een relatie tot stand hebt brengen tussen dat veld en de datumtabel of totdat u de functie Automatische datum/tijd uit schakelen. U kunt handmatig een hiërarchie toevoegen aan de tabel met algemene datums door met de rechtermuisknop te klikken op het jaar, de maand, de week of de dagkolommen in het deelvenster Velden en vervolgens nieuwe hiërarchie te selecteren. Dit proces wordt verder besproken in deze module.

Uw weergave maken

Als u de weergave van de tabellen Verkoop en Orders wilt opbouwen, moet u een relatie tot stand brengen tussen deze nieuwe tabel met algemene datums en de tabellen Verkoop en orders. Hierdoor kunt u met behulp van de nieuwe datumtabel weergaven maken. Als u dit taak wilt voltooien, > gaat u naar het tabblad Relaties beheren, waar u relaties kunt maken tussen de tabel met algemene datum en de tabellen Orders en verkoop met behulp van de kolom OrderDate. In de volgende schermopname ziet u een voorbeeld van een dergelijke relatie.

Nadat u de relaties hebt opgebouwd, kunt u uw 'Totale verkoop- en orderhoeveelheid per tijd' opbouwen met uw algemene datumtabel die u hebt ontwikkeld met behulp van de DAX- of methode Power Query .

Voor het bepalen van de totale verkoop moet u alle verkopen toevoegen, omdat in de kolom bedrag in de tabel Verkoop alleen wordt geziet naar de opbrengst voor elke verkoop en niet naar de totale verkoopopbrengsten. U kunt deze taak met behulp van de volgende metingberekening, die wordt uitgelegd in latere discussies. De berekening die u bij het bouwen van deze maat gebruikt, is als volgt:

#Total Sales = SUM(Sales[‘Amount’])

Nadat u klaar bent, kunt u een tabel maken door terug te keren naar het tabblad Visualisaties en de tabel visual te selecteren. Als u het totaal van orders en verkopen per jaar en maand wilt bekijken, wilt u dus alleen de kolommen Jaar en maand uit uw datumtabel, de kolom Orderqty en de maat #TotalSales opnemen. Wanneer u meer te weten komt over hiërarchieën, kunt u ook een hiërarchie maken die u in staat inzoomen te stellen van jaren tot maanden. U kunt deze bijvoorbeeld naast elkaar weergeven. U hebt nu een weergave met een algemene datumtabel gemaakt.