USERELATIONSHIP in Power BI

Je krijgt de vraag om een grafiek te maken waarin zowel de instroom als de uitstroom van verzoeken voor jouw afdeling staat.

Zowel de instroomdatum als de uitstroomdatum staat in de tabel fact_requests. De tabel is dubbel gelinkt aan dim_date:

De doorgetrokken lijn (de koppeling op instroomdatum) betekent dat deze relatie actief is. De gestippelde lijn (de koppeling op uitstroomdatum) betekent dat deze relatie inactief is. De reden hiervoor is dat we binnen het bedrijf meestal visualisaties op instroomdatum bouwen. In de huidige situaties willen we echter beide relaties om en om activeren, om zo tot de juiste instroom én uitstroom te komen.

Laten we eerst de instroom in een grafiek zetten. Aangezien de koppeling op instroomdatum de standaard is, is dat niet zo spannend:

Nu is het tijd voor de uitstroom. We maken een nieuwe measure aan, waarbij we COUNTROWS gebruiken om het aantal rijen te tellen. De uitdaging is om nu de relatie op uitstroomdatum actief te maken, in de plaats van de relatie op instroomdatum.

Hier komt USERELATIONSHIP in het spel. De naam zegt het al: je kunt aangeven welke relatie je wilt gebruiken. Voorwaarde is wel dat er een relatie is gelegd, zoals te zien is aan de stippellijn in het bovenste plaatje.

USERELATIONSHIP kan alleen gebruikt worden binnen de CALCULATE functie. Dit is een veel gebruikte (maar zelden begrepen) DAX functie, waar ik nu niet in detail op in ga. Het idee is dat we een berekening uitvoeren (COUNTROWS), waarbij we aangeven dat de uitstroomdatum gebruikt moet worden. Als volgt:

Laten we kijken naar het resultaat:

Voilà!

Met dit voorbeeld heb ik geprobeerd duidelijk te maken hoe eenvoudig het is om met DAX de juiste relatie te activeren voor het uitvoeren van een berekening. Mijn ervaring is dat de functie USERELATIONSHIP regelmatig van waarde is.
Mochten er specifieke DAX functies zijn die jij graag wat beter wilt begrijpen, dan hoor ik dat graag!

3 gedachten over “USERELATIONSHIP in Power BI

  1. Wat is het voordeel van deze opzet tov het gebruik van een alias van de date dimensie? Immers, als je fact_requests koppelt aan dim_date_instroom en aan dim_date_uitstroom bereik je hetzelfde?

    Like

    1. Ha Richard, goede vraag. Beide methoden geven inderdaad een juist resultaat. De reden dat ik voor USERELATIONSHIP kies is dat ik het netter vind. Ik voorkom daarmee dubbele tabellen, waardoor het model m.i. overzichtelijker blijft.

      Like

      1. Nadeel van het gebruik van userrelationships is dat je dit expliciet in je measures/attributes moet definieren. Voor een simpelere gebruiker is dat wellicht wat lastiger te doorgronden. Een common gebruik in BI-tooling is aliassen.

        Like

Geef een reactie

Gelieve met een van deze methodes in te loggen om je reactie te plaatsen:

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit /  Bijwerken )

Google photo

Je reageert onder je Google account. Log uit /  Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit /  Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit /  Bijwerken )

Verbinden met %s