Arbejde med relationer og alitet

Fuldført

I modsætning til andre databasestyringssystemer Power BI har begrebet retningssforhold til en relation. Denne retningsbestemthed får en vigtig rolle ved filtrering af data mellem flere tabeller. Når du indlæser data, søger Power BI du automatisk efter relationer, der findes i dataene, ved at matche kolonnenavne. Du kan også bruge administrer relationer til at redigere disse indstillinger manuelt.

Du har f.eks. hentet mange tabeller fra salgsdatabasen, og følgende billede er et eksempel på din semantiske model. Power BI har automatisk registreret flere relationer, men du kan ikke finde ud af, hvad de betyder. Du vil sikre dig, at relationerne afspejler de relationer, der findes i dataene, nøjagtigt.

Relationer

De følgende er forskellige typer relationer, som du kan finde i Power BI.

Mange til en- eller (*:1) en til mange-relation (1: *)

  • Beskriver en relation, hvor du har mange forekomster af en værdi i en kolonne, der kun er relateret til en entydig tilsvarende forekomst i en anden kolonne.

  • Beskriver retningsretningen mellem fakta- og dimensionstabeller.

  • Er den mest almindelige type retningsbestemthed og er standard Power BI , når du automatisk opretter relationer.

Et eksempel på en én til mange-relation kan være mellem tabellerne Landenavn og Distrikt, hvor du kan have mange distrikter, der er tilknyttet ét entydigt land.

En til en-relation (1:1):

  • Beskriver en relation, hvor der kun er én forekomst af en værdi fælles mellem to tabeller.

  • Kræver entydige værdier i begge tabeller.

  • Det anbefales ikke, at du gør dette, da denne relation gemmer overflødige oplysninger og foreslår, at modellen ikke er designet korrekt. Det er bedre at kombinere tabellerne.

Et eksempel på en en til en-relation er, hvis du havde produkter og produkt-i to forskellige tabeller. Det er overflødigt at oprette en en til en-relation, og disse to tabeller skal kombineres.

Mange til mange-relation (.):

  • Beskriver en relation, hvor mange værdier er til fælles mellem to tabeller.

  • Kræver ikke entydige værdier i nogen af tabellerne i en relation.

  • Anbefales ikke; manglende entydige værdier introducerer guity og dine brugere ved muligvis ikke, hvilken kolonne med værdier der henviser til hvad.

I nedenstående figur vises f.eks. en mange til mange-relation mellem tabellerne Salg og Ordre i kolonnen OrderDate , da flere salg kan have tilknyttet flere ordrer. Der introduceres Guity, fordi begge tabeller kan have samme ordredato.

Krydsfilterretning

Data kan filtreres på én eller begge dele af en relation.

Med en enkelt retning på tværs af filtre:

  • Der kan kun bruges én tabel i en relation til at filtrere dataene. Tabel 1 kan f.eks. filtreres efter tabel 2, men tabel 2 kan ikke filtreres efter tabel 1.

    Drikkepenge

    Følg pilens retning i forholdet mellem tabellerne for at vide, hvilken retning filteret vil flyde i. Du vil typisk have, at disse pile skal pege på faktatabellen.

  • I forbindelse med en en til mange-relation eller mange til en-relation vil den krydsfilterretningen være fra den ene side, hvilket betyder, at filtrering sker i tabellen med mange værdier.

Med både krydsfilterretninger eller tovejs-krydsfiltrering:

  • Den ene tabel i en relation kan bruges til at filtrere den anden. En dimensionstabel kan f.eks. filtreres gennem faktatabellen, og faktatabellerne kan filtreres gennem dimensionstabellen.

  • Du kan have en lavere ydeevne, når der bruges tovejs-på tværs af filtrering med mange til mange-relationer.

En god ide at være forsigtig med tovejs-krydsfiltrering: Du skal ikke aktivere tovejs-krydsfiltreringsrelationer, medmindre du fuldt ud forstår de forskellige foranstaltninger, der gør det. Aktivering af den kan medføre uoverensmeldt vareprøve, overprøve og uventede resultater og potentiel ydeevne.

Fortrolighed og krydsfilterretning

I forbindelse med 1 til 1-relationer er den eneste tilgængelige indstilling tovejs-krydsfiltrering. Data kan filtreres på hver side af dette forhold og resultere i én entydig værdi. Du kan f.eks. filtrere på ét produkt-id og returnere et enkelt produkt, og du kan filtrere på et produkt og returnere et enkelt produkt-id.

Ved mange til mange-relationer kan du vælge at filtrere i én retning eller i begge retninger ved at bruge tovejs-krydsfiltrering. Den kompleksitet, der er knyttet til tovejs-krydsfiltrering, overestificeres i en mange til mange-relation, fordi der vil være flere stier mellem forskellige tabeller. Hvis du opretter et målepunkt, en beregning eller et filter, kan der forekomme utilsigtede konsekvenser, når dataene filtreres, Power BI og afhængigt af hvilken relation programmet vælger, når filteret anvendes, kan det endelige resultat blive forskelligt. Denne situation gælder også for tovejs-relationer, og hvorfor du skal være forsigtig, når du bruger dem.

Derfor bliver mange til mange-relationer og/eller tovejs-relationer komplicerede. Medmindre du er sikker på, hvordan dataene ser ud, når de aggregeres, kan disse typer åbne relationer med flere filtreringsretninger introducere flere stier gennem dataene.

Oprette mange til mange-relationer

Overvej det scenarie, hvor du har til opgave at opbygge et billede, der undersøger budgetter for kunder og konti. Du kan have flere debitorer på samme konto og flere konti med samme debitor, så du ved, at du skal oprette en mange til mange-relation.

Du kan oprette dette forhold ved at gå til Administrer relationer>ny. I det vindue, der bliver resultatet, skal du oprette en relation mellem kolonnen Debitor-id i CustomerTable og AccountTable. Relationen er angivet til mange til mange, og filtertypen er i begge retninger. Straks vil du blive advaret om, at du kun skal bruge denne type forhold, hvis det forventes, at ingen af kolonnerne vil have entydige værdier, fordi du kan få uventede værdier. Da du vil filtrere i begge retninger, skal du vælge tovejs-krydsfiltrering.

Vælg OK. Du har nu oprettet en mange til mange-relation.

Yderligere oplysninger finder du i Mange til mange-relationer Power BI.