Opprette en datotabell
Et felles forretningsbehov er Power BI å utføre beregninger basert på dato og klokkeslett under rapportoppretting i. Organisasjoner ønsker å vite hvordan de har det i løpet av måneder, kvartaler, regnskapsår og så videre. Derfor er det svært viktig at disse tidsorienterte verdiene formateres på riktig måte. Power BI autodefokusere for datokolonner og tabeller. Situasjoner kan imidlertid oppstå der du må sette i gang ekstra trinn for å få datoene i formatet som organisasjonen krever.
La oss for eksempel anta at du utvikler rapporter for salgsteamet i organisasjonen. Databasen inneholder tabeller for salg, ordrer, produkter og mer. Du legger merke til at mange av disse tabellene, inkludert Salg og ordrer, inneholder egne datokolonner, som vist av kolonnene ShipDate og OrdreDate i salgsordre- og ordretabellene. Du har oppgaven å utvikle en tabell over totalsalget og ordrene etter år og måned. Hvordan kan du lage et visuelt med flere tabeller, og hver referanse til sine egne datokolonner?
For å løse dette problemet kan du opprette en felles datotabell som kan brukes av flere tabeller. Følgende del beskriver hvordan du kan oppnå dette oppgave i Power BI.
Opprette en felles datotabell
Du kan lage en felles datotabell på følgende måter:
Kildedata
DAX
Power Query
Kildedata
Noen ganger har kildedatabasene og datalagrene allerede sine egne datotabeller. Hvis administratoren som utformet databasen gjorde en grundig jobb, kan disse tabellene brukes til å utføre følgende oppgaver:
Identifiser firma helligdager
Separat kalender og regnskapsår
Identifiser helger i forhold til ukedager
Kildedatatabeller er klare til umiddelbar bruk. Hvis du har en slik tabell, tar du den med i din semantiske modell og bruker ingen andre metoder som er beskrevet i denne delen. Vi anbefaler at du bruker en kildedatotabell, fordi den sannsynligvis deles med andre verktøy som du kanskje bruker i tillegg til Power BI.
Hvis du ikke har en kildedatatabell, kan du bruke andre måter å bygge en felles datotabell på.
DAX
Du kan bruke DAX-funksjonene (Data Analysis Expression) til å bygge opp den vanlige datotabellen. FUNKSJONEN KALENDER() returnerer et sammenhengende datoområde basert på en start- og sluttdato som angis som argumenter i funksjonen. Funksjonen CALENDARAUTO() returnerer eventuelt et sammenhengende, fullstendig datointervall som bestemmes automatisk ut fra din semantiske modell. Startdatoen velges som den tidligste datoen som finnes i din semantiske modell, og sluttdatoen er den siste datoen som finnes i semantiske modellen pluss data som er fylt ut til den regnskapsmåneden du kan velge å ta med som et argumentet i CALENDARAUTO()-funksjonen. På grunn av dette eksemplet brukes KALENDER()-funksjonen fordi du bare vil se dataene fra 31. mai 2011 (den første dagen da Salget begynte å spore disse dataene), og fremover for de neste 10 årene.
I Power BI Desktop, Velg Posttabell, og deretter angir du i følgende DAX-formel:
Dates = CALENDAR(DATE(2011, 5, 31), DATE(2022, 12, 31))
Nå har du en datokolonne du kan bruke. Denne kolonnen er imidlertid litt avhengig av disse. Du vil også vise kolonner for bare året, månedsnummeret, uken i året og ukedagen. Du kan oppnå dette oppgave ved å velge Ny kolonne ved å velge ny kolonne ved å skrive inn følgende DAX-ligning, som vil hente året fra datotabellen.
Year = YEAR(Dates[Date])
Du kan utføre den samme prosessen for å hente månedsnummeret, ukenummeret og ukedagen:
MonthNum = MONTH(Dates[Date])
WeekNum = WEEKNUM(Dates[Date])
DayoftheWeek = FORMAT(Dates[Date], "DDDD")
Når du er ferdig, vil tabellen inneholde kolonnene som vises i følgende figur.
Du har nå opprettet en felles datotabell ved hjelp av DAX. Denne prosessen legger bare til den nye tabellen i den semantiske modellen. du må fremdeles fastsette relasjoner mellom datotabellen og salgs- og ordretabellene, og deretter merke tabellen som den offisielle datotabellen for semantisk modell. Før du fullfører disse oppgavene, må du imidlertid passe på at du vurderer en annen måte å bygge opp en felles datotabell på: Ved hjelp av dette Power Query.
Power Query
Du kan bruke M-språk, utviklingsspråket som brukes til å bygge spørringer Power Query i, til å definere en felles datotabell.
Velg Transforme data som Power BI Desktop du blir dirigert til Power Query. Når du er tom i den venstre Spørringer-ruten, høyreklikker du for å åpne følgende rullegardinmeny, der du vil Velg Ny > spørring for tom spørring.
I den resulterende nye spørringsvisningen angir du følgende M-formel for å bygge en kalendertabell:
= List.Dates(#date(2011,05,31), 365*10, #duration(1,0,0,0))
Når det gjelder salgsdata, vil du at startdatoen skal gjenspeile den tidligste datoen du har i dataene: 31. mai 2011. I tillegg vil du vise datoer for de neste 10 årene, inkludert fremtidige datoer. Denne fremgangsmåten sikrer at du, etter hvert som nye salgsdata flyter inn, ikke trenger å opprette denne tabellen på nytt. Du kan også endre varigheten. I dette tilfellet vil du ha et datapunkt for hver dag, men du kan også øke med timer, minutter og sekunder. Følgende figur viser resultatet.
Når du har realisert fremgang i prosessen, legger du merke til at du har en datoliste i stedet for en tabell med datoer. Hvis du vil rette denne feilen, kan du gå til Transformering-kategorien og skrive Velg Konverter > til tabell. Som navnet foreslår, vil denne funksjonen konvertere listen til en tabell. Du kan også gi kolonnen nytt navn til DateCol.
Deretter vil du legge til kolonner i den nye tabellen for å se datoer i år, måned, uke og dag, slik at du kan bygge opp et hierarki i det visuelle. Den første oppgave er å endre kolonnetype ved å velge ikonet ved siden av navnet på kolonnen, og velge Datotype i den resulterende rullegardinlisten.
Når du er ferdig med å velge datotypen , kan du legge til kolonner for år, måneder, uker og dager. Gå til Legg til kolonne, Velg rullegardinmenyen under Dato, og deretter Velg År, som vist i følgende figur.
Legg merke Power BI til at det er lagt til en kolonne i alle år som er trukket fra DateCol.
Fullfør den samme prosessen for måneder, uker og dager. Når du har fullført denne prosessen, vil tabellen inneholde kolonnene som vises i følgende figur.
Du har nå brukt til Power Query å bygge en felles datotabell.
De forrige trinnene viser hvordan du får tabellen inn i den semantiske modellen. Nå må du merke tabellen som den Power BI offisielle datotabellen, slik at den kan gjenkjennes for alle fremtidige verdier og sikre at formateringen er riktig.
Som offisiell datotabell
Din første oppgave som merker tabellen som den offisielle datotabellen er å finne den nye tabellen i Felt-ruten . Høyreklikk navnet på tabellen, og Velg som datotabell, som vist i følgende figur.
Når du merker tabellen som en datotabell, Power BI utføres valideringer for å sikre at dataene inneholder null nullverdier, er unike og inneholder fortløpende datoverdier over en periode. Du kan også velge bestemte kolonner i tabellen for å markere som dato, noe som kan være nyttig når du har mange kolonner i tabellen. Høyreklikk tabellen, og Velg som datotabell og deretter Velg Date-tabellinnstillinger. Følgende vindu vises, der du kan velge hvilken kolonne som skal merkes som Dato.
Hvis du velger Merk som datotabell, fjernes autogenererte hierarkier fra Dato-feltet i tabellen du merket som en datotabell. For andre datofelt vil det automatiske hierarkiet fortsatt være til stede til du etablerer et forhold mellom dette feltet og datotabellen , eller til du deaktiverer funksjonen Automatisk dato/ klokkeslett. Du kan manuelt legge til et hierarki i den vanlige datotabellen ved å høyreklikke års-, måneds-, uke- eller dagkolonnene i Felt-ruten og deretter velge Nytt hierarki. Denne prosessen blir ytterligere omtalt senere i denne modulen.
Bygge opp det visuelle
Hvis du vil bygge det visuelle mellom tabellene Salgsordre og Ordrer, må du etablere en relasjon mellom denne nye felles datotabellen og tabellene Salgsordrer og Ordrer. Du vil da kunne bygge visualisering ved hjelp av den nye datotabellen. Hvis du vil fullføre oppgave skjemaet, > kan du gå til Kategorien Behandle forhold, der du kan opprette relasjoner mellom den vanlige datotabellen og ordre- og salgstabellen ved hjelp av Ordredato-kolonnen. Skjermbildet nedenfor viser et eksempel på en slik relasjon.
Når du har bygd relasjonene, kan du bygge opp det visuelle salgs- og ordreantallet etter tid med den vanlige datotabellen du har utviklet ved hjelp av DAX- eller Power Query -metoden.
Hvis du vil bestemme totalsalget, må du legge til alle salg, fordi Beløp-kolonnen i salgstabellen bare ser på omsetningen for hvert salg, ikke den totale salgsinntekten. Du kan fylle ut oppgave ved å bruke følgende målberegning, som blir forklart i senere diskusjoner. Beregningen du vil bruke når du bygger dette målet, er som følger:
#Total Sales = SUM(Sales[‘Amount’])
Når du er ferdig, kan du opprette en tabell ved å gå tilbake til kategorien Visualiseringer og velge det visuelle tabellen . Du vil vise totalordrene og -salget etter år og måned, så du bare vil ta med år- og månedskolonnene fra datotabellen, Ordreqty-kolonnen og #TotalSales målet. Når du lærer om hierarkier, kan du også bygge opp et hierarki som gjør at du drille ned fra år til måned. Du kan for eksempel vise dem side ved side. Du har nå opprettet et visuelt med en felles datotabell.