Bruk innstillingen Anta referanseintegritet i Power BI Desktop

Når du kobler deg til en datakilde som bruker DirectQuery, kan du bruke utvalget Anta referanseintegritet til å få muligheten til å kjører mer effektive spørringer mot datakilden. Denne funksjonen har noen krav til de underliggende dataene, og den er bare tilgjengelig når du bruker DirectQuery.

Når du stiller inn Anta referanseintegritet, kan datakilden bruke INDRE KOBLING-setninger i stedet for YTRE KOBLING, noe som øker effektiviteten på spørringen.

Skjermbilde av en dialogboks for å redigere relasjon for å velge Anta referanseintegritet.

Krav for bruk av Anta referanseintegritet

Dette er en avansert innstilling, og den kan bare aktiveres når du kobler til data ved hjelp av DirectQuery. Følgende krav er nødvendige for at Anta referanseintegritet skal fungere:

  • Data i Fra-kolonnen i relasjonen er aldri Null eller Tom
  • For hver verdi i Fra-kolonnen er det en tilsvarende verdi i Til-kolonnen

Fra-kolonnen i denne konteksten er Mange i en Én-til-mange-relasjon, eller så er den kolonnen i den første tabellen i en Én-relasjon.

Eksempel på bruk av Anta referanseintegritet

Følgende eksempel viser hvordan Anta referanseintegritet fungerer når det brukes i datatilkoblinger. Eksemplet kobler til en datakilde som inneholder en Bestillinger-tabell, en Produkter-tabell og en Depoter-tabell.

  1. Dette bildet viser Bestillinger-tabellen og Produkter-tabellen. Vær oppmerksom på at referanseintegritet finnes mellom Bestillinger [ProduktID] og Produkter[ProduktID] . [ProduktID] -kolonnen i Bestillinger-tabellen er aldri Null, og hver eneste verdi vises også i Produkter-tabellen. Følgelig skal Anta referanseintegritet være stilt inn for å få mer effektive spørringer (bruk av denne innstillingen endrer ikke verdiene som vises i visualiseringer).

    Skjermbilde av tabellene Ordrer og Produkter.

  2. I neste bilde ser du at det ikke finnes noen referanseintegritet mellom Bestillinger [DepotID] og Depoter [DepotID] , fordi DepotID er Null for noen Bestillinger. Følgelig skal Anta referanseintegritet ikke angis.

    Skjermbilde av tabellene Ordrer og Depoter.

  3. Til slutt eksisterer det ikke noen referanseintegritet mellom Bestillinger [KundeID] og Kunder [kundeID] i tabellene nedenfor: KundeID inneholder noen verdier (i dette tilfellet CustX) som ikke finnes i Kunder-tabellen. Følgelig skal Anta referanseintegritet ikke angis.

    Skjermbilde av tabellene Ordrer og Kunder.

Innstillingen Anta referanseintegritet

Hvis du vil aktivere denne funksjonen, velger du avmerkingsboksen ved siden av Anta referanseintegritet som vist i illustrasjonen nedenfor.

Skjermbilde av en dialogboks for å redigere relasjon som gir deg mulighet for å velge Anta referanseintegritet.

Når den er valgt, valideres innstillingen mot dataene for å sikre at det ikke finnes noen rader med Null eller manglende samsvar. For tilfeller med et stort antall verdier er valideringen ikke noen garanti for at det ikke finnes noen problemer med referanseintegritet.

I tillegg forekommer valideringen etter at du ha redigert relasjonen, og gjenspeiler ikke eventuelle etterfølgende endringer i dataene.

Hva skjer hvis du angir Anta referanseintegritet feil?

Hvis du angir Anta referanseintegritet når det er problemer med referanseintegritet i dataene, vil ikke dette resultere i feil. Dette resulterer imidlertid i tydelig inkonsekvens i dataene. Når det for eksempel gjelder relasjonen til Depoter-tabellen som er beskrevet ovenfor, vil det resultere i følgende:

  • En visualisering som viser totalt Bestillingsantall, viser en verdi på 40
  • En visualisering som viser totalt Bestillingsantall etter depotby viser en totalverdi på bare 30, fordi det ikke omfatter bestillings-ID 1, der DepotID er Null .

Neste trinn

Finn ut mer om DirectQuery

Få mer informasjon om relasjoner i Power BI

Finn ut mer om Relasjonsvisning i Power BI Desktop.