Definer detaljnivå for data
Detaljnivå for data er detaljen som representeres i dataene dine, noe som betyr at jo flere detaljnivåer dataene har, desto større er detaljnivået i dataene dine.
Detaljnivå for data er et viktig emne for alle dataanalytikere, uavhengig av Power BI-verktøyene du bruker. Det å definere det riktige detaljtnivået for data kan ha en stor innvirkning på ytelsen og brukervennligheten til rapportene og visualobjektene i Power BI.
Definerte detaljnivå for data
Se for deg et scenario der bedriften din administrerer 1000 semitrailere som transporterer kjølevarer. Hver trailer bruker en Microsoft Azure IoT-app til å registrere gjeldende temperatur med få minutters mellomrom. Denne temperaturen er viktig for organisasjonen din fordi, hvis kjølefunksjonen får en teknisk feil, kan det ødelegge hele transportlasten, og dette kan være en dyr affære for deg. De mange trailerne og sensorene genererer omfattende data hver dag. Rapportbrukerne har ikke lyst til å gå gjennom en rekke poster for å finne de postene de er spesielt interesserte i.
Hvordan kan du endre detaljnivået til dataene for å gjøre den semantiske modellen mer brukervennlig?
I dette scenarioet kan det være lurt å importere dataene ved å bruke et daglig gjennomsnitt for hver trailer. Denne fremgangsmåten vil redusere postene i databasen til én post for hver trailer for hver dag. Hvis du bestemmer deg for at fremgangsmåten er god nok til å spore kostnader og feil, kan du bruke det detaljnivået for data. Eventuelt kan du også velge den siste registrerte temperaturen, eller du kan importere poster som er over eller under en normal temperaturintervall. Alle disse metodene vil redusere det totale antallet poster du importerer, samtidig som du innhenter data som er omfattende og verdifulle.
For andre scenarioer kan du gå for detaljnivå for data som defineres ukentlig, månedlig eller kvartalsvis. Generelt er det slik at jo færre poster du jobber med, desto raskere fungerer rapportene og visualobjektene. Denne fremgangsmåten oversettes til en raskere oppdateringsfrekvens for hele semantisk modell, noe som kan bety at du kan oppdatere oftere.
Denne fremgangsmåpten har imidlertid en ulempe. Hvis brukerne vil drille inn i hver enkelt transaksjon, vil det å summere detaljnivået hindre dem i å gjøre dette, noe som kan ha en negativ innvirkning på brukeropplevelsen. Det er viktig å forhandle nivået av detaljnivået for data med rapportbrukere slik at de forstår konsekvensene av disse valgene.
Endre detaljnivå for data for å bygge en relasjon mellom to tabeller
Detaljnivå for data kan også ha innvirkning når du bygger relasjoner mellom tabeller i Power BI.
Tenk deg for eksempel at du bygger rapporter for salgsteamet hos Tailwind Traders. Du har blitt bedt om å bygge en matrise med totalt salg og budsjett over tid ved hjelp av tabellene Kalender, Salg og Budsjett. Du legger merke til at Salg-tabellens laveste nivå for tidsbaserte detaljer er etter dag, for eksempel 01/05/2020, 07/06/2020 og 18/06/2020. Budsjetttabellen går bare til månedlig nivå, for eksempel er budsjettdataene 05.05.2020 og 06.2020. Disse tabellene har ulike detaljnivåer som må avstemmes før du kan bygge en relasjon mellom tabeller.
Figuren nedenfor viser den gjeldende semantiske modellen.
Som vist i den forrige illustrasjonen, mangler det en relasjon mellom Budsjett og Kalender. Derfor må du opprette denne relasjonen før du kan bygge visualobjektet. Legg merke til at hvis du transformerer kolonnene År og Måned i kalendertabellen til en ny kolonne, og gjør den samme transformasjonen i Budsjett-tabellen, kan du sammenligne formatet til Dato-kolonnen i Kalender-tabellen. Deretter kan du etablere en relasjon mellom de to kolonnene. Hvis du vil fullføre denne oppgaven, setter du sammen kolonnene År og Måned , og deretter endrer du formatet.
Velg Transformer data på båndet. På Brukte trinn, i ruten til høyre, høyreklikker du på det siste trinnet, og deretter velger du Sett inn trinn etter.
Velg Egendefinert kolonne under Legg til kolonne på Hjem-båndet. Skriv inn følgende formel, som kjeder sammen kolonnene År og Måned, og legg deretter til en bindestrek mellom kolonnenavnene.
Column = Table.AddColumn(#"Renamed Columns", "Custom", each [Year] & "-" &[Month])
Endre datatypen til Dato, og gi deretter kolonnen et nytt navn. Budsjett-tabellen skal ligne på figuren nedenfor.
Nå kan du opprette en relasjon mellom tabellene Budsjett og Kalender.
Opprett en relasjon mellom tabellene
Power BI oppdager automatisk relasjoner, men du kan også gå til Behandle relasjoner > Ny og opprette relasjonen i Dato-kolonnen . Relasjonen skal ligne på figuren nedenfor.
Ved å fullføre denne oppgaven har du sørget for at detaljnivået er det samme mellom de ulike tabellene. Nå må du opprette DAX-mål for å beregne Totalt salg og BudgetAmount. Gå til Data-ruten på Power BI Desktop, velg Nytt mål, og opprett deretter to mål med følgende formler:
TotalSales = SUM(Sales[Total Sales])
BudgetAmount = SUM (Budget[BudgetAmount])
Velg tabellvisualobjektet i Visualisering-ruten , og angi deretter disse målene og datoen i Verdier-feltet . Du har nå oppnådd målet om å bygge en matrise av totalt salg og budsjetter over tid.