9,0 klantwaardering
BTW-vrijgestelde cursussen
Incompany & klassikaal
Praktische en unieke aanpak
Cursus Compleet
KLASSIKALE CURSUSSEN & TRAININGEN

Ontdek onze klassikale cursussen

Vind de juiste training en kies het niveau dat bij je past.

CURSUSAANBOD VOOR BEDRIJVEN

Incompany-trainingen

Ontdek trainingen voor jouw team, afgestemd op jullie dagelijkse praktijk.

Microsoft 365

Samenwerken & moderne werkplek

5 trainingen
Knowledge topic

DAX Formules

Berekeningen en measures met DAX.

2 artikelen 10 FAQ's
Kennis en verdieping

Artikelen over DAX Formules

Veelgestelde vragen

Korte antwoorden

Wat betekent context transition bij CALCULATE?

Context transition is de omzetting van een bestaande rijcontext naar een filtercontext wanneer CALCULATE in het juiste scenario wordt gebruikt. Daardoor kan een aggregatie worden geëvalueerd voor de kenmerken van de huidige rij. Dit mechanisme is belangrijk in berekende kolommen en iteratoren. Een verwijzing naar een bestaande measure binnen rijcontext kan eveneens automatisch relevante context transition activeren. Test de uitkomst altijd met bekende records.

Waarom is het DAX-totaal niet altijd de som van de zichtbare rijen?

Een measure wordt in iedere context opnieuw geëvalueerd. De totaalrij van een matrix heeft meestal een andere filtercontext dan de afzonderlijke detailrijen. Bij gemiddelden, percentages en andere niet-additieve berekeningen kan het juiste totaal daarom afwijken van het optellen van zichtbare celwaarden. Controleer eerst de zakelijke definitie van de KPI; probeer het resultaat niet zonder analyse met extra SUMX- of ALL-constructies te forceren.

Wat is rijcontext in DAX?

Rijcontext betekent dat een DAX-uitdrukking toegang heeft tot de waarden van de huidige rij, bijvoorbeeld in een berekende kolom of binnen de iterator SUMX. De formule FactSales[Quantity] * FactSales[UnitPrice] kan zo een bedrag per transactieregel berekenen. Rijcontext filtert echter niet automatisch alle geaggregeerde tabellen. Voor zulke berekeningen is ook de filtercontext en soms context transition relevant.

Wat is filtercontext in Power BI?

Filtercontext bepaalt welke gegevens tijdens de evaluatie van een DAX-expressie meetellen. Die context kan ontstaan via slicers, visualfilters, paginafilters, relaties en bepaalde DAX-functies. De measure SUM(FactSales[LineAmount]) kan daardoor op een kaart totale omzet tonen en in een matrix per productgroep verschillende waarden. De formuletekst blijft gelijk; de selectie van relevante factregels verandert.

Wanneer wordt SUMX gebruikt in plaats van SUM?

SUM telt waarden uit een bestaande numerieke kolom op. SUMX doorloopt de rijen van een tabel en berekent per rij een uitdrukking, bijvoorbeeld hoeveelheid maal eenheidsprijs, waarna die resultaten worden opgeteld. SUMX creëert rijcontext binnen de iterator. Kies op basis van het benodigde rekenmodel en de performance; een vooraf gecontroleerd bedrag uit het bronsysteem kan soms passender zijn dan opnieuw berekenen.

Wanneer is een DAX-measure beter dan een berekende kolom?

Een measure is meestal passend wanneer een waarde moet reageren op de actuele filters en slicers, zoals omzet per regio of marge per maand. Een berekende kolom is geschikt voor een vaste eigenschap van een afzonderlijke rij die als veld in het model nodig is. De keuze beïnvloedt de modelgrootte en het berekenmoment. Test de uitkomst daarom op verschillende detailniveaus en niet alleen op één totaal.

Wordt een berekende kolom opnieuw berekend als een slicer verandert?

In een gebruikelijk Import-model wordt een berekende kolom verwerkt en opgeslagen bij gegevensverwerking of verversing. Een slicer verandert de opgeslagen rijwaarde niet. Een measure daarentegen wordt opnieuw geëvalueerd binnen de actuele filtercontext van het rapport. Bij andere opslagmodi kunnen aanvullende beperkingen bestaan, waardoor het ontwerp altijd op het daadwerkelijke model moet worden getoetst.

Waarom mag een margepercentage niet simpelweg worden opgeteld?

Een margepercentage is meestal niet additief. Het totale margepercentage moet worden berekend als totale brutomarge gedeeld door totale omzet, niet als som van de margepercentages van afzonderlijke orderregels. Een measure met DIVIDE kan de correcte verhouding onder de actieve filters bepalen. Controleer daarnaast wat bij nulomzet, retouren en ontbrekende kostengegevens als uitkomst gewenst is.

Kunnen berekende kolommen het Power BI-model vertragen?

Ja. Extra opgeslagen kolommen kunnen de modelgrootte vergroten, vooral bij veel unieke tekstwaarden. Dat betekent niet dat measures altijd sneller zijn; complexe measures kunnen querytijd kosten. Meet de werkelijke prestaties en overweeg of een afgeleid kenmerk beter in de bron of in Power Query kan worden gemaakt. Een keuze op basis van alleen formulelengte is onvoldoende.

Hoe wordt gecontroleerd of een DAX-measure correct is?

Vergelijk de uitkomst met betrouwbare brongegevens op meerdere niveaus, bijvoorbeeld totaal, jaar, regio en productgroep. Test ook lege selecties, retouren en onverwachte combinaties van filters. Controleer relaties en filterrichting in het stermodel. AI of Copilot kan een maatvoorstel doen, maar inhoudelijke definities en mogelijke contextfouten moeten onafhankelijk worden gecontroleerd.

Cursus Compleet · Onderwerpgerichte verdieping

Praktijktraining over DAX Formules?

Er is geen specifieke cursus aan dit onderwerp gekoppeld. Bespreek de mogelijkheden voor een maatwerktraining.

Bespreek uwtrainingsvraag→