Werken met dimensies
Wanneer u een sterschema compileert, hebt u dimensie- en feitentabellen. Feitentabellen bevatten informatie over gebeurtenissen, zoals verkooporders, verzenddatums, wederverkopers en leveranciers. In dimensietabellen worden gegevens over bedrijfsentiteiten opgeslagen, zoals producten of tijd, en die via een relatie zijn verbonden met feitentabellen.
U kunt hiërarchieën als één bron gebruiken om details te ontdekken in dimensietabellen. Deze hiërarchieën worden gevormd door natuurlijke segmenten in uw gegevens. U kunt bijvoorbeeld een hiërarchie van datums hebben waarin uw datums in jaren, maanden, weken en dagen kunnen worden gesegmenteerd. Hiërarchieën zijn handig omdat ze u in staat stellen om in te zoomen op de details van uw gegevens in plaats van de gegevens op een hoog niveau te bekijken.
Hiërarchieën
Wanneer u visuals compileert, worden in Power BI automatisch waarden van het datumtype als hiërarchie ingevoerd (als de tabel niet is gemarkeerd als een datumtabel).
In de vorige kolom Datum wordt de datum in steeds nauwkeuriger details weergegeven, van jaar, kwartalen, maanden tot dagen. U kunt ook handmatig hiërarchieën maken.
Denk bijvoorbeeld aan een situatie waarin u een gestapeld staafdiagram wilt maken van de totaalverkoop per categorie en subcategorie. U kunt deze taak uitvoeren door in de tabel Product voor categorieën en subcategorieën een hiërarchie te maken. Als u een hiërarchie wilt maken, gaat u naar het deelvenster Velden in Power BI en klikt u vervolgens met de rechtermuisknop op de kolom waarvoor u de hiërarchie wilt. Selecteer Nieuwe hiërarchie, zoals weergegeven in de volgende afbeelding.
Sleep vervolgens de subcategoriekolom naar deze nieuwe hiërarchie die u hebt gemaakt. Deze kolom wordt als een subniveau in de hiërarchie toegevoegd.
Nu kunt u de visual maken door een gestapeld staafdiagram te selecteren in het deelvenster Visualisaties. Voeg uw Hiërarchie op categorienaam toe in het veld As en Totale verkoop in het veld Waarden.
U kunt inzoomen op de visual om Categorie en Subcategorie te bekijken, afhankelijk van wat u wilt zien. Met hiërarchieën kunt u een steeds grotere hoeveelheid gegevens weergeven in één weergave.
Nu u meer over hiërarchieën weet, kunt u een stap verder gaan en bovenliggende en onderliggende hiërarchieën en hun rol onderzoeken in meervoudige relaties tussen feitentabellen en dimensietabellen.
Bovenliggende/onderliggende hiërarchie
In het volgende voorbeeld hebt u een tabel Employee in de database waarmee u belangrijke informatie krijgt over de werknemers, hun managers en hun id's. Wanneer u deze tabel bekijkt, ziet u dat Roy F meerdere keren voorkomt in de kolom Manager. Zoals in de afbeelding wordt weergegeven, kunnen meerdere werknemers dezelfde manager hebben, die een hiërarchie aangeeft tussen managers en werknemers.
De kolom Manager bepaalt de hiërarchie en is daarom het bovenliggende niveau, terwijl de onderliggende niveaus de werknemers zijn. In dit voorbeeld wilt u alle niveaus van deze hiërarchie kunnen zien. Power BI geeft niet standaard alle niveaus van de hiërarchie weer. Het is dus uw verantwoordelijkheid om ervoor te zorgen dat alle niveaus van deze hiërarchie worden weergegeven of dat u deze moet platmaken zodat u meer gegevensgranulariteit kunt weergeven.
Bovenliggende/onderliggende hiërarchie platmaken
Het proces voor het weergeven van meerdere onderliggende niveaus op basis van een bovenliggend item op het hoogste niveau staat bekend als het platmaken van de hiërarchie. In dit proces maakt u meerdere kolommen in een tabel om het hiërarchische pad van het bovenliggende naar het onderliggende item in dezelfde record weer te geven. U gebruikt PATH(), een eenvoudige DAX-functie waarmee een tekstversie van het managementpad voor elke werknemer wordt geretourneerd en PATHITEM() om dit pad te scheiden in elk niveau van managementhiërarchie.
Belangrijk
DAX is nog niet behandeld; dat gebeurt echter in een andere module. Deze functie is opgenomen in deze sectie omdat hiermee hiërarchieën worden uitgelegd. Als het gebruik van DAX in deze capaciteit verwarrend is, raadpleegt u de DAX-module en keert u vervolgens terug naar deze sectie.
Ga in de tabel naar het tabblad Modelleren en selecteer Nieuwe kolom. Voer in de resulterende formulebalk de volgende functie in, waarmee het tekstpad tussen de werknemer en manager wordt gemaakt. Met deze actie wordt een berekende kolom gemaakt in DAX.
Path = PATH(Employee[Employee ID], Employee[Manager ID])
Het voltooide pad tussen de werknemer en de manager wordt weergegeven in de nieuwe kolom, zoals wordt weergegeven in de volgende schermopname.
Als u naar Roger M kijkt, is het pad van id's 1010 | 1011 | 1013, wat betekent dat zich één niveau boven Roger M (Id 1013) zijn manager Pam H (Id 1011) bevindt en één niveau boven Pam H de manager Roy F (Id 1010). In deze rij bevindt Roger M zich onderaan de hiërarchie, op het onderliggende niveau, en Roy F bevindt zich bovenaan de hiërarchie en bevindt zich op het bovenliggende niveau. Dit pad wordt voor elke werknemer gemaakt. Als u de hiërarchie wilt platmaken, kunt u elk niveau van elkaar scheiden met behulp van de functie PATHITEM.
Als u alle drie de niveaus van de hiërarchie afzonderlijk wilt weergeven, kunt u vier kolommen op dezelfde manier maken als u eerder hebt gedaan, door de volgende vergelijkingen in te voeren. U gebruikt de functie PATHITEM om de waarde op te halen die zich in het bijbehorende niveau van uw hiërarchie bevindt.
- Niveau 1 = PATHITEM(Employee[Path],1)
- Niveau 2 = PATHITEM(Employee[Path],2)
- Niveau 3 = PATHITEM(Employee[Path],3)
Wanneer u klaar bent, ziet u dat u in uw tabel nu over elk hiërarchieniveau beschikt. Roy F bevindt zich bovenaan de hiërarchie en wanneer u de niveaus 2-3 doorloopt, ziet u dat de managers en werknemers aan elkaar worden toegewezen.
U kunt nu een hiërarchie maken op het deelvenster Velden, zoals u eerder hebt gedaan. Klik met de rechtermuisknop op Niveau 1, omdat dit het eerste hiërarchieniveau is en selecteer vervolgens Nieuwe hiërarchie. Sleep vervolgens niveau 2 en niveau 3 naar deze hiërarchie.
U hebt nu een hiërarchie platgemaakt zodat u afzonderlijke niveaus kunt weergeven.
Eerder hebt u dimensies bekeken met slechts één relatie met een feitentabel. Er treden echter situaties op waarbij uw dimensietabel meerdere relaties met een feitentabel heeft.
Rollenspeldimensies
Rollenspeldimensies hebben meerdere geldige relaties met feitentabellen, wat inhoudt dat dezelfde dimensie kan worden gebruikt om meerdere kolommen of tabellen met gegevens te filteren. Als gevolg hiervan kunt u gegevens op verschillende manieren filteren, afhankelijk van welke gegevens u moet ophalen. Dit onderwerp is complex, zodat het alleen in deze sectie wordt opgevoerd. Voor het werken met rollenspeldimensies zijn complexe DAX-functies vereist die in latere secties worden besproken.
In de voorgaande visual ziet u de tabellen Calendar, Sales en Order. Calendar is de dimensietabel, terwijl Sales en Order feitentabellen zijn. De dimensietabel heeft twee relaties: één met Sales en één met Order. Dit voorbeeld is een rollenspeldimensie omdat de tabel Calendar kan worden gebruikt om gegevens in zowel Sales als Order te groeperen. Als u een visual wilt maken waarin de tabel Calendar naar die van Order en Sales verwijst, zou de tabel Calendar fungeren als een rollenspeldimensie.