- Einführung
- Verwenden von DAX in Power BI Berichten
- Verwenden von DAX in Analysis Services Tabular
- Aufzeichnen von - durch Power BI generierten - DAX-Abfragen
- Verwenden von DAX Studio
- Grundlegendes: Syntax, Typ-System, DAX-Objekte
- Die wichtigsten Tabellen-Funktionen: CROSSJOIN, SUMMARIZECOLUMNS, SUMMARIZE, FILTER, ADDCOLUMNS, VALUES
- Deep Dive: Konzepte der Sprache DAX
- Vergleichbare Konzepte in SQL, Objekt-Orientierter Sprache, Sets und MDX
- Konzepte für den Einstieg: Row Context Transition, Filter-Propagierung und Table Expansion
- Filter-Interaktion: Vererben, Überschreiben und Merge von Filtern
- Direkte Filter und Crossfilter
- Features der Funktionen CALCULATE und CALCULATETABLE
- Relationships
- AutoExist Feature
- CALCULATE und CALCULATETABLE im Detail
- DEFINE-Block: Auslagern von Expressions als Measure. Keywords VAR und RETURN
- Deep Dive: Was ist ein Filter?
- Unterschied Tabellen-Filter und Spalten-Filter
- CALCULATE(TABLE): Der interne Ablauf Schritt für Schritt
- Vergleich von Funktionen mit / ohne Context Transition. Implizites und explizites Aufrufen der Context Transition
- Filter Modifikation: Keine Modifikation, teilweise Überschreibung äußerer Filter, Interaktion von Filtern innerhalb von CALCULATE(TABLE)
- Funktionen für Filter Modifizierer: ALL, ALLEXECEPT, FILTER, VALUES, REMOVEFILTERS, KEEPFILTERS, ALLEXCEPT, EARLIER
- Rekonstruktion von Filtern mit VALUES
- Effekte durch Arbitrarily Shaped Filters
- Verschachtelte Contexte
- X-Iteratoren
- Was ist der Unterschied zwischen SUM und SUMX etc?
- Patterns für die Anwendung von COUNT, COUNTX und COUNTROWS
- Patterns für die Anwendung von RANKX
- Umgang mit Zeit
- Konzepte für die Integration von Zeit-Informationen
- Role Playing Dimensions: Einsatz von Zeit-Informationen in verschiedenen Zusammenhängen
- Aktive und inaktive Relationships: Verwenden von USERELATIONSHIP und CROSSFILTER
- Granularität von Zeit-Informationen:Fakten-Dimension vs. Zeit-Dimension
- Standard-Aufbau von Dimensions-Tabellen: Definition von Keys, Best Practices: notwendige Spalten in Zeittabellen, Best Practices: Daten-Typen von Spalten mit Zeit-Information etc.
- Einführung: Wie werden Zeit-Informationen mit DAX verarbeitet?
- DAX-Patterns und -Techniken
- GENERATE-Funktion
- Patterns für Filter Propagation
- Perioden-Vergleiche
- Cumulative Totals (Year-To-Date, Running Total, Sliding Window etc.)
- Ratio-To-Parent in Hierarchieen
- Semi-Additive Measures
LernzieleDie Teilnehmer erlernen die Struktur der Sprache DAX, Solution Patterns und die gängigen Use Cases für den produktiven Einsatz. Das Ziel ist es, robusten DAX-Code zu entwickeln: Der Code soll unter allen Umständen das erwartete Ergebnis liefern - und nicht nur unter den speziellen Bedingungen der Entwicklungs-Umgebung.
ZielgruppenBI-Entwickler und Applikations-Entwickler mit mehrjähriger Berufserfahrung. Excel PowerUser mit gutem Abstraktions-Vermögen sind ebenfalls willkommen.
Erfahrung mit dimensionalen Daten, Erfahrung mit relationalen Datenbanken, Abstraktions-Vermögen, Kenntnisse in einer Objekt-Orientierten Sprache. Die erwarteten Kenntnisse sind kein Ausschluss-Kriterium, jedoch richtet sich der Kurs an Teilnehmer, die diese Kenntnisse mitbringen und hat einen Einfluss auf die Art und Weise der Seminar-Durchführung.