Innledning
Å opprette en flott semantisk modell er en av de viktigste oppgavene som en dataanalytiker kan utføre i Microsoft Power BI. Ved å gjennomføre denne jobben på en god måte, bidrar du til å gjøre det lettere for andre å forstå dataene, noe som gjør det lettere for både dem og deg å bygge verdifulle Power BI-rapporter.
Sidene i denne modulen er bare instruksjonsbaserte, ingen datafiler er angitt. Du har en sjanse til å arbeide med reelle data i laboratoriene.
En god semantisk modell tilbyr følgende fordeler:
Raskere datautvinning.
Det blir lettere å bygge aggregeringer.
Mer nøyaktige rapporter.
Det tar mindre tid å skrive rapporter.
Det blir enklere å vedlikeholde rapporter i fremtiden.
Det er vanskelig å angi regler for hva som gjør en god semantisk modell fordi alle dataene er forskjellige, og bruken av disse dataene varierer. Vanligvis er en mindre semantisk modell bedre fordi den yter raskere og vil være enklere å bruke. Men å definere hva en mindre semantisk modell innebærer er like problematisk fordi det er et heuriistisk og subjektivt konsept.
Vanligvis består en mindre semantisk modell av færre tabeller og færre kolonner i hver tabell som brukeren kan se. Hvis du importerer alle nødvendige tabeller fra en salgsdatabase, men det totale antallet tabeller er 30, vil ikke brukere anse det som intuitivt. Skjuling av disse tabellene i fem tabeller gjør den semantiske modellen mer intuitiv for brukeren, mens hvis brukeren åpner en tabell og finner 100 kolonner, kan det hende de synes den er overveldende. Hvis du fjerner unødvendige kolonner for å gi et mer håndterbart tall, øker sannsynligheten for at brukeren leser alle kolonnenavnene. For å oppsummere bør du sikte på enkelhet når du utformer semantiske modeller.
Følgende bilde er et eksempel på semantisk modell. Boksene inneholder tabeller med data der hvert linjeelement i boksen er en kolonne. Linjene som knytter sammen boksene representerer relasjoner mellom tabellene. Disse relasjonene kan være komplekse, selv i en forenklet modell. Den semantiske modellen kan bli lett uorganisert, og det totale tabellantallet i modellen kan gradvis øke. Å holde den semantiske modellen enkel, omfattende og nøyaktig krever konstant innsats.
Relasjoner defineres mellom tabeller gjennom primærnøkler og sekundærnøkler. Primærnøkler er kolonne(r) som identifiserer hver unike datarad som ikke er null. Hvis du for eksempel har en Kunder-tabell, kan du ha en indeks som identifiserer hver unike kunde. Den første raden har en ID på 1, den andre raden en ID på 2 og så videre. Hver rad tilordnes en unik verdi som kan refereres til av denne enkle verdien: primærnøkkelen. Denne prosessen er blir viktig når du refererer til rader i en annen tabell, og det er dette sekundærnøkler gjør. Relasjoner mellom tabeller dannes når du har felles primær- og sekundærnøkler mellom forskjellige tabeller.
Med Power BI kan du bygge relasjoner fra tabeller med forskjellige datakilder – en kraftfull funksjon som gjør det mulig for deg å hente én tabell fra Microsoft Excel, og en annen fra en relasjonsdatabase. Deretter oppretter du relasjonen mellom disse to tabellene og behandler dem som en enhetlig semantisk modell.
Nå som du har lært om relasjonene som utgjør dataskjemaet, kan du utforske en bestemt type skjemautforming, stjerneskjemaet, som er optimalisert for høy ytelse og brukervennlighet.
Stjerneskjemaer
Du kan utforme et stjerneskjema for å forenkle dataene dine. Det er ikke den eneste måten å forenkle dataene på, men det er en populær metode, og derfor bør enhver dataanalytiker i Power BI ha en forståelse av hvordan det fungerer. I et stjerneskjema defineres hver tabell i den semantiske modellen som en dimensjon eller en faktatabell, som vist i følgende visualobjekt.
Faktatabeller inneholder observasjonsmessige dataverdier eller hendelsesrelaterte dataverdier som salgsordrer, produktantall, priser, transaksjonsdatoer og -tidspunkt, og antall. Faktatabeller kan inneholde flere gjentatte verdier. Ett produkt kan for eksempel vises flere ganger i flere rader, for ulike kunder, på ulike datoer. Disse verdiene kan aggregeres for å opprette visualobjekter. For eksempel er et visualobjekt med de totale salgsordrene en aggregasjon av alle salgsordrer i faktatabellen. I faktatabeller er det vanlig å se kolonner som er fylt med tall og datoer. Tallene kan være målenheter, for eksempel salgsbeløp, eller de kan være nøkler, for eksempel en kunde-ID. Dataene representerer tidspunktet som registreres, for eksempel ordredato eller forsendelsesdato.
Dimensjonstabeller inneholder detaljene om dataene i faktatabeller: produkter, plasseringer, ansatte og ordretyper. Disse tabellene er koblet til faktatabellen ved hjelp av nøkkelkolonner. Dimensjonstabeller brukes til å filtrere og gruppere dataene i faktatabeller. Faktatabellene inneholder derimot målbare data, for eksempel salg og omsetning, og hver rad representerer en unik kombinasjon av verdier fra dimensjonstabellene. I visualobjektet for sum av salgsordrer kan du gruppere dataene slik at du ser sum av salgsordrer etter produkt, hvori produkt er data i dimensjonstabellen.
Faktatabeller er mye større enn dimensjonstabeller fordi mange hendelser forekommer i faktatabeller, for eksempel individuelle salg. Dimensjonstabeller er vanligvis mindre fordi du er begrenset til antallet elementer som du kan filtrere og gruppere etter. Et år inneholder for eksempel bare så mange måneder, og USA består bare av et bestemt antall stater.
Når du vurderer denne informasjonen om faktatabeller og dimensjonstabeller, kan det være at du lurer på hvordan du kan bygge dette visualobjektet i Power BI.
De relevante dataene befinner seg i to tabeller, Ansatt og Salg, som vist i den følgende semantiske modellen. Ettersom Salg-tabellen inneholder salgsordreverdiene som kan aggregeres, anses den som en faktatabell. Ansatt-tabellen inneholder det spesifikke ansattnavnet som filtrerer salgsordrene, så dette ville vært en dimensjonstabell. Den felles kolonnen mellom de to tabellene som er primærnøkkelen i Ansatt-tabellen, er EmployeeID, så du kan etablere en relasjon mellom de to tabellene, basert på denne kolonnen.
Når du oppretter denne relasjonen, kan du bygge visualobjektet i henhold til kravene, som vist i illustrasjonen nedenfor. Hvis du ikke hadde opprettet denne relasjonen, samtidig som du var oppmerksom på fellestrekkene mellom de to tabellene, ville det ha vært vanskeligere å bygge visualobjektet ditt.
Stjerneskjemaer og den underliggende semantiske modellen er grunnlaget for organiserte rapporter. jo mer tid du bruker på å opprette disse tilkoblingene og utformingene, jo enklere blir det å opprette og vedlikeholde rapporter.