9.5 De werking van filter-context
Wat gebeurt er met de getallen als u een veld met als tekstwaarde ‘Kleur’ toevoegt aan de tabel met het Orderbedrag?
Voorbeeld
U ziet dat er voor elk kleur het bedrag wijzigt. Een Measure houdt altijd rekening met de velden die als tekstwaarden worden toegevoegd aan een visual. Alle unieke waarden van de kolom ‘Kleur’ worden één regel in de tabelvisual. Voor elk van de kleuren filtert Power BI de Productentabel én daarmee ook de Ordertabel. In dit geval wordt voor elk unieke kleur de tabel ‘Order’ gefilterd tot de orders waarvan het productkleur gelijk is aan de getoonde kleur. Om te achterhalen waarom de Producttabel de Ordertabel filtert, is het noodzakelijk om het datamodel te bekijken.
Actieve relatie
In de afbeelding op de volgende pagina is er een actieve relatie te zien tussen de tabel ‘Product’ en ‘Orders’. Zoals u in hoofdstuk 5 heeft kunnen lezen geeft de relatie de filters door aan de andere tabel. Op het moment dat de Measures worden berekend, worden er dus voor elke kleur twee tabellen gefilterd.
Tweedelige werking van measures
De werking van de Measures is dus altijd tweeledig:
- de initiële filter-context van de visual: alle getoonde kleuren filteren de tabel Producten.
- de gelegde relaties tussen tabellen bepalen of een filter mag worden doorgegeven (zie ook hoofdstuk 2). Relaties zijn dus ook onderdeel van de filter-context. In dit geval zorgt de actieve relatie tussen de tabel ‘Product’ en de ‘Ordertabel’ ervoor dat de Order tabel wordt gefilterd voor elke kleur.
Evaluatie van filters
U moet ook beseffen dat voor elke unieke combinatie van filters de berekening wordt geëvalueerd. Het totaalbedrag dat u onder aan de tabel ziet staan is de uitkomst van de filter-context die geldt (ongefilterd). Voor alle andere regels in de tabel komen de getallen tot stand door de filter op de kolom Kleur voor elke kleur apart te zetten en te berekenen. Power BI rekent dus in dit geval tien keer de getallen uit op basis van tien verschillende filter-contexten.
Draaitabel
U kunt de werking van een Measure vergelijken met de wijze waarop een draaitabel werkt in Excel. In Power BI werkt dit niet alleen voor draaitabellen zo, maar voor elke visual die u gebruikt. Voor de volledigheid zijn dit alle onderdelen binnen Power BI die meegenomen worden in de evaluatie van de filter-context:
- Visual: tekstwaarden in kolommen of op de As-lijn;
- Externe filters:
- Filter Pane: tilter levels (Visual, Page, Report Level);
- Slicers;
- Relationships;
- Measures met behulp van DAX-formules.
Complexere berekeningen
Het laatstgenoemde punt uit de opsomming zorgt ervoor dat u zelf controle heeft op het maken van complexere berekeningen. Impliciete Measures beperken zich tot de standaardaggregatie vormen zoals:
- AVERAGE;
- SUM;
- COUNT.
Maar u zult zelf aan de slag moeten met het maken van Measures als u bijvoorbeeld het verschil tussen twee waarden uit wilt rekenen of wilt werken met cumulatieven en vergelijkingen ten opzichte van voorgaande perioden. In de volgende paragraaf leest u hoe u deze Expliciete Measures kunt maken met behulp van DAX.
Voorbeeld
Om zelf complexere Measures te kunnen maken is het belangrijk om het begrip filtercontext goed te doorgronden.
Fiters
Probeert u eens op basis van onderstaande afbeelding zelf te bepalen welke filters actief zijn om te komen tot de omkaderde bedragen:
Voor beide getallen geldt steeds dezelfde aggregatiefunctie: SUM van Orderbedrag.