DAX - LÖSUNGEN
Grundsätzliches
Admin für PowerBI einrichten: Administratorzugriff erhalten
Es gibt mehrere Arten von Berechnungen:
- Zeilenkontext: Hier wird Zeile für Zeile berechnet.
- Filterkontext: Innerhalb eines Messures findet eine gefilterte Aggregation statt. Zum Beispiel kann dies eine SUMME sein.
- Evaluation Context: Kontext-Übergangs-Funktionen - Iterative Funktionen
- Calculate-Funktion
Zeilenkontext
Wie erzeuge ich eine Berechnung aus 2 Tabellen?
z. B.: DELTA-WERTE = B_PORTFOLIO[B_Wert]-RELATED(A_PORTFOLIO[A_Wert])
Erläuterung im Video: POWER BI - SO GEHT DAX
Filterkontext
z.B.: SUM DELTA-WERTE = Sum(B_PORTFOLIO[DELTA-WERTE])
Evaluation Context
Kennzeichnet sich aus einer kombinierten Spaltenkontext und einem Filterkontext. Er tritt häufig in iterativen Funktionen wie SUMX() auf.
z.B.: Berechnet zuerst Menge * Preis für jede Zeile und summiert dann die Werte.
Calculate-Funktion
Sie ist extrem wichtig und erstellt einen eigenen Filterkontext. Sie ist ein "Game-Changer".
Wenn man viele Berechnungen anstellt, dann kann die Calculate-Funktion zu Performance-Herausforderungen führen.
z.B.: AKTIENGEWINNE = CALCULATE([BA_KURSWERT],A_PORTFOLIO[A_Typ]="AKTIE")
Performance-TUNING in DAX
Schlechte Performance entsteht oft durch ineffiziente Berechnungen. Hier sind einige Best Practices.
Optimierungstipps
- Übermäßige Nutzung von CALCULATE () vermeinden
- Iterationen reduzieren: Falls möglich eher Aggregationen statt SUMX () verwenden
- Star Schema nutzen: Flache Tabellen mit vielen Spalten verlangsamen DAX-Berechnungen