U bent hier

Onderneming & Administratie
Werken met Power BI10. Context in Power BI9.5 De werking van filter-context

9.5 De werking van filter-context

Dit artikel is eerder verschenen als Themadossier FA Rendement
Publicatiedatum: oktober 2022

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 Measure voert een formule uit en aggregeert de waarde van een kolom, bijvoorbeeld SUM van het Orderbedrag.
  • De Measure filtert de tabellen in het datamodel op basis van de geldende filter-context. Als u nauwkeuriger kijkt naar het voorbeeld van de productkleuren kunt u twee onderdelen identificeren:
    • 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:

  • Actieve filters: Slicer » Grootte = 40
  • Actieve filters Slcier » Grootte = 40 EN ProductCategorie = Bikes EN Kleur = Black
  • Voor beide getallen geldt steeds dezelfde aggregatiefunctie: SUM van Orderbedrag.