Methoden om DAX-measures te maken

DAX-functies in Power BI

Carl Rosseel

Curriculum Manager

Impliciete vs expliciete measures

Impliciet

  • Automatisch aangemaakt door Power BI
  • Komt direct uit de database
  • Bijv.: sleep je Sales naar waarden van een tabel, dan somt Power BI dit automatisch op
  • Via een dropdown kies je de aggregatie: som, gemiddelde, aantal, ...

Expliciet

  • Measures expliciet schrijven
  • Bijv.: Total Sales = SUM(Orders[Sales])
  • Bieden flexibiliteit
DAX-functies in Power BI

Waarom expliciete measures de voorkeur hebben

  • Vermindert onduidelijkheid over wat een measure is of doet
    • Total Sales = SUM(Orders[Sales])
    • Total Sales is duidelijker dan Sales (SUM, AVG, MIN, ... ?)
  • Herbruikbaar in andere measures
    • Total Sales East = CALCULATE([Total Sales],Orders[Region] = 'East')
  • Kan een aangepaste naam krijgen die de functie uitlegt
  • Maakt onderhoud van complexe modellen duurzamer
DAX-functies in Power BI

Best practices

  • Houd DAX-measures bij elkaar gegroepeerd:
    • Measures kun je aan elke tabel koppelen
    • In tegenstelling tot berekende kolommen, die bij één specifieke tabel horen

Screenshot 2021-07-22 at 11.22.15.png

  • Formatteer en voorzie van commentaar in DAX:
    • Gebruik inspringing voor beter begrip
      • Shift Enter voor een nieuwe regel
      • Tab om in te springen
    • Voeg commentaar toe na //
DAX-functies in Power BI

Gebruik variabelen om je formules te verbeteren

  • Slaat het resultaat van een expressie op als benoemde variabele
  • Te gebruiken als argument in andere measure-expressies

  • Vier belangrijkste voordelen:

    • Betere performance
    • Betere leesbaarheid
    • Eenvoudiger debuggen
    • Minder complexiteit

Syntaxis:

  • VAR <name> = <expression>
    • Name = de naam van de variabele
    • Een DAX-expressie die een scalaire of tabelwaarde retourneert
    • Gevolgd door een RETURN-statement
DAX-functies in Power BI

Gebruik variabelen om je formules te verbeteren - voorbeeld

  • Bereken de verkoop van vorig jaar en sla dit op als variabele
VAR 
SALESPRIORYEAR = CALCULATE([SALES],SAMEPERIODLASTYEAR('DATE'))
RETURN
  • Gebruik de variabele in een formule
Sales growth = [Sales] - SALESPRIORYEAR
DAX-functies in Power BI

Gebruik variabelen om je formules te verbeteren - voorbeeld

  • Samen ziet het er zo uit:
Sales growth = 

VAR 
SALESPRIORYEAR = CALCULATE([SALES],SAMEPERIODLASTYEAR('DATE'))
RETURN

Sales growth = [Sales] - SALESPRIORYEAR
DAX-functies in Power BI

Laten we oefenen!

DAX-functies in Power BI

Preparing Video For Download...