Das Seminar richtet sich Reporting-Spezialisten, Analysten oder PowerUser, die die Abfragesprache “DAX” kennenlernen möchten. Mit Hilfe des Gelernten können sowohl vollständige Abfragen in DAX geschrieben werden, als auch können Measures und Computed Columns auf der Basis von DAX Expressions formuliert werden. Die Kenntnisse lassen sich in Power BI und Analysis Services Tabular einsetzen.
Das Seminar stellt eine Einführung in die Konzepte von DAX wie Filter, Transition und CALCULATE dar. Es werden Vergleiche zu anderen Sprachen wie SQL und MDX gezogen und es werden Lösungen für die typische BI-Fragestellungen wie Running Totals und Perioden-Vergleiche gezeigt.
Grundlagen
– Einführung in DAX-Entwicklungswerkzeuge und die Umgebung
– Das Typ-System von DAX
– DAX-Operatoren und Operator-Funktionen
– Programmier-Richtlinien
– Grundlegende Funktionen: SUMMARIZE, SUMMARIZECOLUMNS, ADDCOLUMNS, FILTER, CROSSJOIN
Konzepte der Sprache
– Expanded Tables
– RowContext und Context Transiation
– Relationship
– Table Filter vs. Column Filter
– Filter Propagation
– CrossFilter
– Objekte der internen Verarbeitung: Tupels, Sets und Dimensionen
– Operationen der internen Verarbeitung: Intersect, Overwrite, Merge
Grundlegende Iteratoren
– Deep Dive: Die Mengen-Funktionen CROSSJOIN, SUMMARIZE und SUMMARIZECOLUMNS im Vergleich
– Auto-generierter Power BI Code: Analyse von Power BI Traces
– Deep Dive: Die Optionen von SUMMARIZECOLUMNS
– Deep Dive: Die Optionen von SUMMARIZE
– Mengen-Funktionen im Vergleich zu den Schleifen-Funktionen FILTER, ADDCOLUMNS
Erstellen von Measures und komplexen Statements
– Inline-Definition von KPI-Expression vs. Measure-Definition
– Die Schlüsselwörter “VALUES” und “VAR” in verschiedenen Kontexten
– Aufbau eines Measures und Best Practices
– Gebräuchliche Aggregats-Funktionen: SUM, COUNT etc.
– X-Iteratoren: SUMX, COUNTX, AVERAGEX, RANK etc.
CALCULATE und CALCULATETABLE
– Grundlegende Konzepte zum Filter Context und dessen Modifikation
– Verschachtelung von FILTER, CALCULATE und CALCULATETABLE
– Filter Overwrite und Merge
– Spezielle Modifikationen mit USE RELATIONSHIP, CROSSFILTER, KEEPFILTERS, REMOVEFILTERS, ALLSELECTED und EARLIER
– Filter Expressions
Arbeiten mit Zeit
– Einführung in Zeit-Tabellen und Best Practices
– TimeToDate-Berechnungen
– Moving Total
– Periodenvergleiche
Arbeiten mit Sets
– Hilfsfunktionen wie TREATAS, ROW
– Arbeiten mit einer Menge: TOPN, DISTINCT, SELECTCOLUMNS etc.
– Arbeiten mit mehreren Mengen: GENERATE, INTERSECT, UNION, NATURALINNERJOIN, LOOKUPVALUE etc.