Werken met relaties en tijdigheid

Voltooid

Heeft in tegenstelling tot andere databasebeheersystemen Power BI het concept van directionaliteit naar een relatie. Deze directionaliteit is een belangrijke rol bij het filteren van gegevens tussen meerdere tabellen. Wanneer u gegevens laadt, wordt Power BI automatisch op zoek naar relaties die in de gegevens bestaan door kolomnamen te matchen. U kunt relaties beheren ook gebruiken om deze opties handmatig te bewerken.

U hebt bijvoorbeeld een groot aantal tabellen opgehaald uit de Verkoop-database en de volgende afbeelding is een voorbeeld van uw semantische model. Power BI heeft automatisch verscheidene relaties gedetecteerd, maar u kunt niet het gemiddelde van deze relaties bepalen. U wilt er zeker van zijn dat de relaties nauwkeurig de relaties weerspiegelen die in uw gegevens aanwezig zijn.

Relaties

Dit zijn verschillende typen relaties die u kunt vinden Power BI.

Veel-op-één-relatie (*:1) of een-op-veel (1: *) relatie

  • Beschrijft een relatie waarin u veel exemplaren van een waarde in een kolom hebt die aan slechts één uniek overeenkomend exemplaar in een andere kolom zijn gerelateerd.

  • Beschrijft de directionaliteit tussen feiten- en dimensietabellen.

  • Is het meest gangbare type directionaliteit en is de standaardwaarde Power BI wanneer u automatisch relaties maakt.

Een voorbeeld van een een-op-veel relatie is tussen de tabellen Landnaam en Gebied, waar u een groot aantal gebieden kunt hebben die aan één uniek land zijn gekoppeld.

Een-op-een-relatie (1:1:

  • Beschrijft een relatie waarbij slechts één exemplaar van een waarde gemeenschappelijk is tussen twee tabellen.

  • Hiervoor zijn unieke waarden in beide tabellen vereist.

  • Het gebruik van deze relatie wordt niet aanbevolen, omdat deze relatie overbodige informatie op slaat en stelt voor dat het model niet op de juiste manier is ontworpen. Het is beter om de tabellen te combineren.

Een voorbeeld van een één-op-één-relatie zou zijn als u producten en product-IDs in twee verschillende tabellen had. Het maken van een een-op-een-relatie is overbodig en deze twee tabellen moeten worden gecombineerd.

Veel-op-veelrelatie (.)

  • Beschrijft een relatie waarbij een groot aantal waarden tussen twee tabellen gemeenschappelijk zijn.

  • Er zijn geen unieke waarden in een tabel in een relatie vereist.

  • Wordt niet aanbevolen; een gebrek aan unieke waarden introduceert eenduidigheid en uw gebruikers weten mogelijk niet welke waardenkolom naar wat verwijst.

De onderstaande afbeelding toont bijvoorbeeld een veel-op-veel relatie tussen de tabellen Verkoop en Order in de kolom OrderDate omdat aan meerdere verkopen meerdere orders kunnen worden gekoppeld. Ambiiteit wordt geïntroduceerd, omdat beide tabellen dezelfde orderdatum kunnen hebben.

Richting van kruisfilter

Gegevens kunnen worden gefilterd op één of beide deel van een relatie.

Met één kruisfilterrichting:

  • Er kan slechts één tabel in een relatie worden gebruikt om de gegevens te filteren. Tabel 1 kan bijvoorbeeld worden gefilterd op tabel 2, maar tabel 2 kan niet worden gefilterd op Tabel 1.

    Fooi

    Volgen richting van de pijl op de relatie tussen de tabellen om te zien in welke richting het filter zal stromen. Meestal wilt u dat deze pijlen aanwijzen uw feitentabel.

  • Voor een één-op-veel-of-veel-op-één-relatie is de richting voor meerdere filters afkomstig uit de "één"-richting, wat betekent dat er kan worden gefilterd in de tabel met een groot aantal waarden.

Met beide richtingen met kruisfilters of tweerichtings cross-filtering:

  • De ene tabel in een relatie kan worden gebruikt om de andere te filteren. Een dimensietabel kan bijvoorbeeld in de feitentabel worden gefilterd en de feitentabellen kunnen door de dimensietabel worden gefilterd.

  • Het is mogelijk dat u lagere prestaties hebt wanneer u tweerichtingsfilters gebruikt voor meerdere relaties.

Wees voorzichtig bij tweerichtingsfilters: u moet tweerichtingsrelaties tussen twee richtingen niet inschakelen, tenzij u de vertakkingen van deze relatie volledig begrijpt. Als u deze sleutel inschakelen, kan dit leiden tot eenduidigheid, te hoge bemonstering, onverwachte resultaten en mogelijke prestaties.

De complexiteit en de richting van de kruisfilters

Voor een-op-een-relaties is de enige optie die beschikbaar is tweerichtings cross-filtering. Gegevens kunnen aan beide kant van deze relatie worden gefilterd en resulteren in één tegenstrijdige waarde. U kunt bijvoorbeeld filteren op één product-ID en één product worden geretourneerd, en u kunt filteren op een product en één product-ID retourneren.

Voor relaties met meerdere relaties kunt u ervoor kiezen om te filteren in één richting of in beide richtingen door middel van tweerichtingsfilters. De eenduidigheid die gekoppeld is aan tweerichtings cross-filtering wordt aangevuld in een veel-op-veel relatie, omdat er meerdere paden tussen verschillende tabellen zijn. Als u een maat, berekening of filter maakt, kan onbedoelde gevolgen optreden waar uw gegevens worden gefilterd en kan het eindresultaat verschillen, Power BI afhankelijk van de relatie die de engine kiest bij het toepassen van het filter. Dit geldt ook voor tweerichtingsrelaties en de reden waarom u voorzichtig moet zijn wanneer u ze gebruikt.

Daarom worden veel-tot-veel relaties en/of tweerichtingsrelaties gecompliceerd. Tenzij u zeker weet hoe uw gegevens eruit zien wanneer ze worden samengevoegd, kunnen deze typen open relaties met meerdere filterrichtingen meerdere paden door de gegevens introduceren.

Veel-tot-veel relaties maken

U kunt het scenario bekijken waarbij u wordt belast met het maken van een weergave waarin budgetten voor klanten en rekeningen worden onderzocht. U kunt meerdere klanten op dezelfde rekening en met meerdere rekeningen bij dezelfde klant hebben, zodat u weet dat u een veel-op-veel relatie moet maken.

Ga naar Relaties nieuw beheren om deze relatie te>maken. Maak in het resulterende venster een relatie tussen de kolom Klant-ID in CustomerTable en AccountTable. De relatie wordt ingesteld op veel-op-veel en het filtertype heeft beide richtingen. Onmiddellijk wordt u gewaarschuwd als u dit type relatie alleen moet gebruiken als verwacht wordt dat geen van beide kolommen unieke waarden zullen hebben omdat u onverwachte waarden zou kunnen krijgen. Aangezien u in beide richtingen wilt filteren, kiest u tweerichtings kruisfilters.

Selecteer OK. U hebt nu een veel-op-veel relatie gemaakt.

Zie Veel-tot-veel relaties in voor meer informatie Power BI.