Skapa ett datumregister

Slutförd

När rapporter skapas är Power BI ett gemensamt affärsbehov att göra beräkningar baserade på datum och tid. Organisationer vill veta hur det går för verksamheten under månader, kvartal, räkenskapsår och så vidare. Därför är det viktigt att dessa tidsorienterade värden formateras korrekt. Power BI autodefinierade för datumkolumner och register. Situationer kan dock uppstå där du måste vidta extra steg för att få datumen i det format som din organisation behöver.

Anta att du utvecklar rapporter för din organisations försäljningsteam. Databasen innehåller register för försäljning, order, produkter med mera. Du noterar att många av dessa register, bland annat Försäljnings- och Order, innehåller sina egna datumkolumner, vilket visas i kolumnerna ShipDate och OrderDate i registren Försäljning och Order. Du får i uppgift att utveckla ett register med total försäljning och order per år och månad. Hur kan du skapa en visuell med flera register, där varje referens refererar till sina egna datumkolumner?

För att lösa det här problemet kan du skapa ett gemensamt datumregister som kan användas av flera register. I följande avsnitt beskrivs hur du kan uppnå den här uppgift in Power BI.

Skapa ett gemensamt datumregister

Olika sätt att skapa ett gemensamt datumregister är:

  • Källdata

  • DAX

  • Power Query

Källdata

Ibland har källdatabaser och datalagerställen redan sina egna datumregister. Om administratören som utformat databasen har gjort ett mycket noggrant jobb, kan de här registren användas för att utföra följande uppgifter:

  • Identifiera företagssemestrar

  • Separat kalender och räkenskapsår

  • Identifiera veckoslut kontra veckodagar

Källdataregister används för första bruk och kan användas direkt. Om du har ett register som sådant ska du föra in det i din modell för att inte använda några andra metoder som beskrivs i det här avsnittet. Vi rekommenderar att du använder ett källdatumregister, eftersom det troligen även används tillsammans med andra verktyg som du kan använda Power BI.

Om du inte har något källdataregister kan du använda andra sätt att skapa ett vanligt datumregister.

DAX

Du kan använda DAX-funktionerna (Data Analysis Expression) CALENDARA DER ELLER CALENDAR() för att skapa ditt vanliga datumregister. FUNKTIONEN KALENDER() returnerar ett intilliggande datumintervall baserat på ett start- och slutdatum som anges som argument i funktionen. Du kan också använda funktionen CALENDARATRÄFFAR() för att returnera ett intilliggande, komplett datumintervall som automatiskt bestäms av din modell för modell av modell för modell för modell av modell för modell av modell för modell för modell av modell för modellutval. Startdatumet väljs som det tidigaste datum som finns i din modell, och slutdatumet är det senaste datumet som finns i modellmodellen plus data som har fyllts i till räkenskapsmånaden och som du kan välja att inkludera som ett argument i funktionen CALENDARA DUBLIN(). I det här exemplet används funktionen KALENDER() eftersom du endast vill se data från den 31 maj 2011 (den första dagen då Försäljningen startade sin spårning av dessa data) och framåt för de kommande 10 åren.

I Power BI Desktop, Välj Ny register och ange sedan i följande DAX-formel:

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

Du kan använda en datumkolumn. Den här kolumnen är dock något gles. Du vill också se kolumner för bara året, månadsnummer, veckan under året och veckodagen. Du kan åstadkomma uppgift genom att välja Ny kolumn i anden och ange följande DAX-formel som hämtar året från ditt datumregister.

Year = YEAR(Dates[Date])

Du kan utföra samma process om du vill hämta månadsnummer, veckonummer och veckodag:

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

När du är klar kommer registret att innehålla de kolumner som visas i följande bild.

Du har nu skapat ett gemensamt datumregister med hjälp av DAX. Den här processen lägger bara till ditt nya register i modellmodellen. Du måste fortfarande skapa relationer mellan datumregistret och registren för försäljning och order och sedan markera registret som det officiella datumregistret i din modell för avysning. Innan du utför de här uppgifterna ska du dock se till att du överväger ett annat sätt att bygga ett gemensamt datumregister: genom att använda. Power Query

Power Query

Du kan använda M-språk, det utvecklingsspråk som används för att bygga frågor i, för Power Query att definiera ett gemensamt datumregister.

Välj Transform Data , Power BI Desktop som du kommer att hänvisa till Power Query. Högerklicka i det tomma utrymmet i det vänstra fönstret för frågor om du vill öppna följande nedrullningsmeny där du Välj Ny > fråga tom fråga.

I den resulterande vyn Ny fråga anger du följande M-formel för att bygga ett kalenderregister:

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

För dina försäljningsdata vill du att startdatumet ska återspegla det tidigaste datumet du har i dina data: 31 maj 2011. Du vill dessutom visa datum för de kommande 10 åren, inklusive datum i framtiden. Det här arbetssättet säkerställer att du inte behöver skapa registret på nytt när nya försäljningsdata flödar. Du kan också ändra tidslängden. I detta fall vill du ha en datapunkt för varje dag, men du kan också öka med timmar, minuter och sekunder. Följande bild visar resultatet.

När du har lyckats i processen noterar du att du har en lista över datum i stället för en datumregister. Om du vill korrigera detta fel går du till fliken Transformering på fliken Välj Convert > To Table. Som namnet antyder kommer den här funktionen att omvandla din lista till ett register. Du kan också byta namn på kolumnen till DateCol.

Sedan vill du lägga till kolumner i det nya registret för att se datum i termer av år, månad, vecka och dag så att du kan bygga en hierarki i det visuella. Din första uppgift är att ändra kolumntyp genom att markera ikonen bredvid namnet på kolumnen och, i den resulterande listrutan, välja datumtyp .

När du har valt datumtypen kan du lägga till kolumner för år, månader, veckor och dagar. Gå till Lägg Välj visa listrutan under Datum och Välj År, enligt bilden nedan.

Lägg märke Power BI till att har lagt till en kolumn med alla år som hämtas från DateCol.

Slutför samma process i månader, veckor och dagar. När du har slutfört processen innehåller registret de kolumner som visas i följande figur.

Du har nu använt för Power Query att bygga ett vanligt datumregister.

De föregående stegen visar hur du får in registret i modell av modell för modellmodeller. Nu måste du markera registret som det Power BI officiella datumregistret så att det kan känna igen det för alla framtida värden och se till att formateringen är korrekt.

Markera som det officiella datumregistret

Den första uppgift att markera registret som det officiella datumregistret är att hitta det nya registret i fönstret Fält. Högerklicka på registrets namn och markera Välj marka som datumregister, enligt bilden nedan.

Genom att markera ditt register som Power BI ett datumregister utför du valideringar för att se till att data innehåller noll nullvärden, är unika och innehåller kontinuerliga datumvärden under en period. Du kan också välja specifika kolumner i tabellen för att markera som datum, vilket kan vara användbart när det finns många kolumner i registret. Högerklicka på registret, Välj Marka som datumregister och välj sedan inställningar Välj Date-registret. Följande fönster visas där du kan välja vilken kolumn som ska markeras som Datum.

När du väljer registret Markera som datum tas automatiskt skapade hierarkier bort från datumfältet i registret som du markerade som datumregister. För andra datumfält finns den automatiska hierarkin fortfarande kvar tills du skapar en relation mellan det fältet och datumregistret eller tills du stänger av funktionen Autodatum/ tid. Du kan manuellt lägga till en hierarki i ditt vanliga datumregister genom att högerklicka på kolumnerna för år, månad, vecka eller dag i fönstret Fält och sedan välja Ny hierarki. Den här processen beskrivs ytterligare senare i den här modulen.

Skapa ditt visuella

Om du vill bygga ditt visuella mellan försäljnings- och orderregistren, måste du upprätta en relation mellan det nya datumregistret och registren För försäljning och order. Det innebär att du kan skapa visuella funktioner genom att använda det nya datumregistret. För att slutföra uppgift > går du till modellfliken Hantera relationer, där du kan skapa relationer mellan det gemensamma datumregistret och order - och försäljningsregistren genom att använda kolumnen Orderdatum. I skärmbilden nedan visas ett exempel på ett sådant förhållande.

När du har skapat relationerna kan du skapa din totala försäljnings- och orderkvantitet per tid visuellt med det datumregister som du utvecklat med hjälp av DAX eller Power Query metoden.

För att fastställa den totala försäljningen måste du lägga till all försäljning eftersom kolumnen Belopp i försäljningsregistret endast visar intäkten för varje försäljning, inte den totala försäljningsintäkten. Du kan slutföra uppgift genom att använda följande måttberäkning, vilket förklaras i senare diskussioner. Beräkningen som du ska använda när du bygger det här måttet ser ut på följande sätt:

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

När du är klar kan du skapa ett register genom att gå tillbaka till fliken Visualiseringar och välja det visuella registret . Du vill visa den totala order och försäljning efter år och månad, så du vill bara inkludera kolumnerna År och Månad från datumregistret, kolumnen Orderqty och måttet#TotalSales . När du lära dig om hierarkier kan du också bygga en hierarki som tillåter öka detaljnivån från år till månader. I det här exemplet kan du visa dem sida vid sida. Du har nu skapat en visuell med ett gemensamt datumregister.