DAX-Übersicht
Data Analysis Expressions (DAX) ist eine Formelausdruckssprache, die für Analysis Services, Power BI und Power Pivot in Excel verwendet wird. DAX-Formeln beinhalten Funktionen, Operatoren und Werte zum Ausführen erweiterter Berechnungen und Abfragen von Daten in verknüpften Tabellen und Spalten in tabellarischen Datenmodellen.
Dieser Artikel bietet nur eine grundlegende Einführung in die wichtigsten Konzepte in DAX. Es wird beschrieben, wie DAX-Berechnungen für alle Produkte verwendet werden, die sie nutzen. Einige Funktionen sind möglicherweise nicht auf bestimmte Produkte oder Anwendungsfälle anwendbar. Informationen zur spezifischen Implementierung von DAX finden Sie in der Dokumentation Ihres Produkts.
Berechnungen
DAX-Formeln werden in Measures, berechneten Spalten, berechneten Tabellen und im Rahmen der Sicherheit auf Zeilenebene verwendet.
Measures
Measures sind dynamische Berechnungsformeln, bei denen sich die Ergebnisse abhängig vom Kontext ändern. Measures werden bei Berichten verwendet, die das Kombinieren und Filtern von Modelldaten mithilfe von mehreren Attributen unterstützen, wie z. B. ein Power BI-Bericht, eine PivotTable oder ein PivotChart in Excel. Measures werden mithilfe der DAX-Bearbeitungsleiste im Modell-Designer erstellt.
Eine Formel in einem Measure kann standardmäßige Aggregationsfunktionen verwenden, die automatisch mit dem Feature „AutoSumme“ erstellt werden, wie z. B. COUNT oder SUM. Alternativ können Sie auch Ihre eigene Formel mit der DAX-Bearbeitungsleiste definieren. Benannte Measures können als Argument an andere Measures übermittelt werden.
Wenn Sie in der Bearbeitungsleiste eine Formel für ein Measure definieren, wird über die QuickInfo eine Vorschau der Ergebnisse für den Gesamtwert im aktuellen Kontext angezeigt. Die Ergebnisse werden jedoch noch nicht ausgegeben. Der Grund dafür, dass Sie die (gefilterten) Ergebnisse der Berechnung nicht sofort einsehen können, ist, dass das Ergebnis eines Measures ohne einen Kontext nicht bestimmt werden kann. Das Auswerten eines Measures erfordert eine Clientanwendung zur Berichtserstellung, die in der Lage ist, den erforderlichen Kontext bereitzustellen, um die relevanten Daten für jede Zelle abrufen und anschließend den Ausdruck für jede Zelle auswerten zu können. Bei diesem Client kann es sich um eine Excel PivotTable oder einen PivotChart, einen Power BI-Bericht oder einen Tabellenausdruck in einer DAX-Abfrage in SQL Server Management Studio (SSMS) handeln.
Unabhängig vom Client wird für jede Zelle in den Ergebnissen eine separate Abfrage ausgeführt. Das heißt, jede Kombination aus Zeilen- und Spaltenüberschriften in einer PivotTable oder jede Auswahl von Slicern und Filtern in einem Power BI Bericht generiert eine andere Teilmenge der Daten, für die das Measure berechnet wird. Verwenden Sie beispielsweise diese sehr einfache Measure-Formel:
Total Sales = SUM([Sales Amount])
Wenn ein Benutzer das TotalSales-Measure in einem Bericht verwendet und dann die Spalte „Product Category“ aus einer Product-Tabelle in „Filter“, wird die Summe von „Sales Amount“ berechnet und für die einzelnen Produktkategorien angezeigt.
Im Gegensatz zu berechneten Spalten enthält die Syntax für ein Measure den Namen des Measures vor der Formel. Im soeben angegebenen Beispiel wird der Name Total Sales vor der Formel angezeigt. Nachdem Sie ein Measure erstellt haben, werden der Name und die zugehörige Definition in der Feldliste für die Clientanwendung für die Berichterstellung angezeigt. Abhängig von den Perspektiven und Rollen stehen sie allen Benutzern des Modells zur Verfügung.
Weitere Informationen finden Sie unter:
Measures in Power BI Desktop
Measures in Analysis Services
Measures in Power Pivot
Berechnete Spalten
Eine berechnete Spalte ist eine Spalte, die Sie einer vorhandenen Tabelle (im Modell-Designer) hinzufügen und dann eine DAX-Formel erstellen, die die Werte der Spalte definiert. Wenn eine berechnete Spalte eine gültige DAX-Formel enthält, werden für jede Zeile Werte berechnet, sobald die Formel eingegeben wird. Die Werte werden dann im Arbeitsspeicherdatenmodell gespeichert. Beispielsweise in einer Datumstabelle, wenn die Formel in die Bearbeitungsleiste eingegeben wird:
= [Calendar Year] & " Q" & [Calendar Quarter]
Für jede Zeile in der Tabelle wird ein Wert berechnet, indem Werte von der Spalte „Calendar Year“ (in derselben Datumstabelle) verwendet werden, ein Leerzeichen und der Großbuchstabe „Q“ hinzugefügt wird und dann die Werte von der Spalte „Calendar Quarter“ (in derselben Datumstabelle) hinzugefügt werden. Das Ergebnis für jede Zeile in der berechneten Spalte wird sofort berechnet und angezeigt, z. B. 2017 Q1. Spaltenwerte werden nur neu berechnet, wenn die Tabelle oder eine verknüpfte Tabelle verarbeitet (aktualisiert) oder das Modell aus dem Arbeitsspeicher entladen und dann neu geladen wird, wie z. B. beim Schließen und nochmaligen Öffnen einer Power BI Desktop-Datei.
Weitere Informationen finden Sie unter:
Berechnete Spalten in Power BI Desktop
Berechnete Spalten in Analysis Services
Berechnete Spalten in Power Pivot
Berechnete Tabellen
Eine berechnete Tabelle ist ein berechnetes Objekt, das auf einem Formelausdruck basiert und von allen oder einem Teil der anderen Tabellen im selben Modell abgeleitet ist. Anstatt Werte aus einer Datenquelle abzufragen und von dort in die Spalten Ihrer neuen Tabelle zu laden, definiert eine DAX-Formel die Werte der Spalte.
Berechnete Tabellen können in einer Dimension mit unterschiedlichen Rollen hilfreich sein. Ein Beispiel hierfür ist die Tabelle „Date“, da OrderDate, ShipDate oder DueDate von der Fremdschlüsselbeziehung abhängig sind. Indem Sie explizit eine berechnete Tabelle für ShipDate erstellen, erhalten Sie eine eigenständige Tabelle, die für Abfragen verfügbar und gleich funktionsfähig wie jede andere Tabelle ist. Berechnete Tabellen sind auch nützlich, um ein gefiltertes Rowset oder eine Teilmenge oder ein Superset von Spalten aus anderen vorhandenen Tabellen zu konfigurieren. Dadurch wird die ursprüngliche Tabelle intakt gehalten, während Sie Variationen dieser Tabelle erstellen, um bestimmte Szenarios zu unterstützen.
Berechnete Tabellen unterstützen Beziehungen zu anderen Tabellen. Die Spalten in der berechneten Tabelle weisen Datentypen sowie Formatierungen auf und können zu einer Datenkategorie gehören. Berechnete Tabellen können wie jede andere Tabelle benannt und angezeigt oder ausgeblendet werden. Berechnete Tabellen werden neu berechnet, wenn eine der Tabellen, aus denen sie Daten abrufen, aktualisiert wird.
Weitere Informationen finden Sie unter:
Berechnete Tabellen in Power BI Desktop
Berechnete Tabellen in Analysis Services
Sicherheit auf Zeilenebene
Mit Sicherheit auf Zeilenebene muss eine DAX-Formel zu einer booleschen TRUE/FALSE-Bedingung ausgewertet werden. Dabei wird definiert, welche Zeilen in den Ergebnissen einer Abfrage von Mitgliedern einer bestimmten Rolle zurückgegeben werden können. Für Mitglieder mit der Rolle „Vertrieb“ lautet die DAX-Formel für die Tabelle „Customers“ beispielsweise wie folgt:
= Customers[Country] = "USA"
Mitglieder mit der Vertriebsrolle können nur Daten für Kunden in den USA und Aggregate sehen, SUM wird z. B. nur für Kunden in den USA zurückgegeben. Sicherheit auf Zeilenebene ist in Power Pivot in Excel nicht verfügbar.
Wenn Sie Sicherheit auf Zeilenebene mithilfe einer DAX-Formel definieren, erstellen Sie eine Gruppe zulässiger Zeilen. Dadurch wird der Zugriff auf andere Zeilen nicht verweigert, stattdessen werden sie einfach nicht als Teil des zulässigen Zeilensatzes zurückgegeben. Andere Rollen können Zugriff auf die von der DAX-Formel ausgeschlossenen Zeilen gewähren. Wenn ein Benutzer Mitglied einer anderen Rolle ist und die Sicherheit auf Zeilenebene für diese Rolle den Zugriff auf diese bestimmte Gruppe von Zeilen zulässt, kann der Benutzer Daten für diese Zeile anzeigen.
Formeln für Sicherheit auf Zeilenebene gelten für die angegebenen sowie die mit diesen verknüpften Zeilen. Wenn eine Tabelle über mehrere Beziehungen verfügt, wenden Filter für die aktive Beziehung Sicherheitsfunktionen an. Formeln für Sicherheit auf Zeilenebene werden mit anderen für verknüpfte Tabellen definierten Formeln gekreuzt.
Weitere Informationen finden Sie unter:
Sicherheit auf Zeilenebene (Row-Level Security, RLS) mit Power BI
Rollen in Analysis Services
Abfragen
DAX-Abfragen können in SQL Server Management Studio (SSMS) und Open-Source-Tools wie DAX Studio (daxstudio.org) erstellt und ausgeführt werden. Anders als DAX-Berechnungsformeln, die nur in tabellarischen Datenmodellen erstellt werden können, können DAX-Abfragen auch für mehrdimensionale Analysis Services-Modelle ausgeführt werden. DAX-Abfragen sind häufig einfacher zu schreiben und effizienter als MDX-Abfragen (Multidimensional Data Expressions, mehrdimensionaler Ausdruck).
Eine DAX-Abfrage ist eine Anweisung, ähnlich wie eine SELECT-Anweisung in T-SQL. Der einfachste Typ der DAX-Abfrage ist eine Evaluate-Anweisung. Beispiel:
EVALUATE
( FILTER ( 'DimProduct', [SafetyStockLevel] < 200 ) )
ORDER BY [EnglishProductName] ASC
Gibt in den Ergebnissen eine Tabelle zurück, in der nur die Produkte mit SafetyStockLevel (Sicherheitsbestand) kleiner als 200 in aufsteigender Reihenfolge nach EnglishProductName aufgelistet werden.
Measures können als Teil der Abfrage erstellt werden. Sie existieren nur für die Dauer der Abfrage. Weitere Informationen finden Sie unter DAX-Abfragen.
Formeln
DAX-Formeln sind für das Erstellen von Berechnungen in berechneten Spalten und Measures sowie das Schützen Ihrer Daten mithilfe der Sicherheit auf Zeilenebene unerlässlich. Verwenden Sie die Bearbeitungsleiste am oberen Rand des Modell-Designer-Fensters oder den DAX-Editor, um Formeln für berechnete Spalten und Measures zu erstellen. Verwenden Sie den Rollen-Manager oder das Dialogfeld „Rollen verwalten“, um Formeln für die Sicherheit auf Zeilenebene zu erstellen. Die Informationen in diesem Abschnitt sollen Ihnen den Einstieg in das Verständnis der Grundlagen von DAX-Formeln erleichtern.
Formelgrundlagen
DAX-Formeln können sehr einfach oder sehr komplex sein. In der folgenden Tabelle sind einige Beispiele für einfache Formeln aufgeführt, die in einer berechneten Spalte verwendet werden können.
Formel | Definition |
---|---|
= TODAY() |
Fügt das heutige Datum in jede Zeile einer berechneten Spalte ein |
= 3 |
Fügt den Wert „3“ in jede Zeile einer berechneten Spalte ein |
= [Column1] + [Column2] |
Fügt die Werte in der gleichen Zeile von [Column1] und [Column2] hinzu und fügt die Ergebnisse in die berechnete Spalte der gleichen Zeile ein |
Unabhängig davon, ob die von Ihnen erstellte Formel einfach oder komplex ist, können Sie beim Erstellen einer Formel die folgenden Schritte ausführen:
Jede Formel muss mit einem Gleichheitszeichen (=) beginnen.
Sie können entweder einen Funktionsnamen eingeben oder auswählen oder einen Ausdruck eingeben.
Geben Sie zunächst die ersten Buchstaben der gewünschten Funktion oder des Namens ein, und AutoVervollständigen zeigt eine Liste der verfügbaren Funktionen, Tabellen und Spalten an. Drücken Sie die Tabulatortaste, um der Formel ein Element aus der AutoVervollständigen-Liste hinzuzufügen.
Sie können auch auf die Schaltfläche Fx klicken, um eine Liste der verfügbaren Funktionen anzuzeigen. Markieren Sie das Element mit den Pfeiltasten, um eine Funktion aus der Dropdownliste auszuwählen, und klicken Sie auf OK, um die Funktion der Formel hinzuzufügen.
Geben Sie die Argumente für die Funktion an, indem Sie sie aus einer Dropdownliste möglicher Tabellen und Spalten auswählen, oder indem Sie Werte eingeben.
Überprüfen Sie auf Syntaxfehler: Stellen Sie sicher, dass alle Klammern geschlossen sind und dass ordnungsgemäß auf Spalten, Tabellen und Werte verwiesen wird.
Drücken Sie die EINGABETASTE, um die Formel anzunehmen.
Hinweis
In einer berechneten Spalte wird die Spalte mit Werten aufgefüllt, sobald Sie die Formel eingeben und diese überprüft wird. In einem Measure wird durch Drücken der EINGABETASTE die Measure-Definition in der Tabelle gespeichert. Wenn eine Formel ungültig ist, wird ein Fehler angezeigt.
In diesem Beispiel sehen wir uns eine Formel in einem Measure namens Days in Current Quarter (Tage im aktuellen Quartal) an:
Days in Current Quarter = COUNTROWS( DATESBETWEEN( 'Date'[Date], STARTOFQUARTER( LASTDATE('Date'[Date])), ENDOFQUARTER('Date'[Date])))
Dieses Measure wird zum Erstellen eines Vergleichsverhältnisses zwischen einem unvollständigen Zeitraum und dem vorherigen Zeitraum verwendet. In der Formel muss der Anteil des verstrichenen Zeitraums berücksichtigt und mit dem gleichen Anteil des vorherigen Zeitraums verglichen werden. In diesem Fall gibt „Days Current Quarter to Date“ (Tage im aktuellen Quartal bis Datum) oder „Days in Current Quarter“ (Tage im aktuellen Quartal) den Anteil an, der im aktuellen Zeitraum verstrichen ist.
Diese Formel enthält die folgenden Elemente:
Formelelement | Beschreibung |
---|---|
Days in Current Quarter |
Der Name des Measures |
= |
Das Gleichheitszeichen (=) steht am Anfang der Formel. |
COUNTROWS |
Mit COUNTROWS wird die Anzahl der Zeilen in der Date-Tabelle gezählt. |
() |
Öffnende und schließende Klammern geben Argumente an. |
DATESBETWEEN |
Die Funktion DATESBETWEEN gibt in der Date-Spalte der Date-Tabelle die Datumsangaben zwischen dem letzten Datum für jeden Wert zurück. |
'Date' |
Gibt die Date-Tabelle an Tabellen werden in einfachen Anführungszeichen angegeben. |
[Date] |
Gibt die Date-Spalte in der Date-Tabelle an Spalten werden in eckigen Klammern angegeben. |
, |
|
STARTOFQUARTER |
Die Funktion STARTOFQUARTER gibt das Datum des Quartalsbeginns zurück. |
LASTDATE |
Die Funktion LASTDATE gibt den letzten Tag des Quartals zurück. |
'Date' |
Gibt die Date-Tabelle an |
[Date] |
Gibt die Date-Spalte in der Date-Tabelle an |
, |
|
ENDOFQUARTER |
Die ENDOFQUARTER-Funktion |
'Date' |
Gibt die Date-Tabelle an |
[Date] |
Gibt die Date-Spalte in der Date-Tabelle an |
Verwenden von AutoVervollständigen für Formeln
AutoVervollständigen unterstützt Sie bei der Eingabe einer gültigen Formelsyntax, indem für jedes Element in der Formel Optionen angezeigt werden.
Sie können AutoVervollständigen für Formeln auch mitten in einer vorhandenen Formel mit geschachtelten Funktionen verwenden. Ausgehend vom Text unmittelbar vor der Einfügemarke werden Werte in der Dropdownliste angezeigt. Der Text nach der Einfügemarke bleibt unverändert.
AutoVervollständigen fügt keine schließende Klammer für Funktionen ein und gleicht Klammern nicht automatisch ab. Sie müssen sicherstellen, dass die Syntax aller Funktionen fehlerfrei ist. Andernfalls können Sie die Formel nicht speichern bzw. verwenden.
Verwenden mehrerer Funktionen in einer Formel
Sie können Funktionen schachteln, d. h. das Ergebnis einer Funktion als Argument in einer anderen Funktion verwenden. Berechnete Spalten unterstützen bis zu 64 Schachtelungsebenen. Die Schachtelung kann jedoch die Formelerstellung und die Problembehandlung erschweren. Viele Funktionen wurden zur ausschließlichen Verwendung als geschachtelte Funktionen entwickelt. Diese Funktionen geben eine Tabelle zurück, die nicht direkt als Ergebnis gespeichert werden kann, sondern als Eingabe für eine Tabellenfunktion verwendet werden muss. Die Funktionen SUMX, AVERAGEX und MINX erfordern beispielsweise alle eine Tabelle als erstes Argument.
Funktionen
Eine Funktion ist eine benannte Formel innerhalb eines Ausdrucks. Die meisten Funktionen verwenden als Eingabe erforderliche und optionale Argumente, diese werden auch als Parameter bezeichnet. Bei Ausführung der Funktion wird ein Wert zurückgegeben. DAX enthält Funktionen, mit denen Sie Berechnungen mithilfe von Datums- und Uhrzeitwerten ausführen, bedingte Werte erstellen, mit Zeichenfolgen arbeiten, Suchvorgänge auf der Grundlage von Beziehungen ausführen und eine Tabelle durchlaufen können, um rekursive Berechnungen auszuführen. Wenn Sie mit Excel-Formeln vertraut sind, werden Sie feststellen, dass viele dieser Funktionen ähnlich erscheinen. DAX-Formeln unterscheiden sich jedoch in den folgenden wichtigen Punkten:
Eine DAX-Funktion verweist immer auf eine vollständige Spalte oder eine Tabelle. Wenn Sie nur bestimmte Werte aus einer Tabelle oder Spalte verwenden möchten, können Sie der Formel Filter hinzufügen.
Zum Anpassen von Berechnungen auf Zeilenbasis stellt DAX Funktionen bereit, mit denen Sie, ähnlich einem Parameter, den aktuellen Zeilenwert oder einen verknüpften Wert angeben können, um Berechnungen durchzuführen, die sich je nach Kontext unterscheiden. Informationen dazu, wie diese Funktionen funktionieren, finden Sie unter Kontext in diesem Artikel.
DAX beinhaltet viele Funktionen, die keinen Wert, sondern eine Tabelle zurückgeben. In einem Berichtserstellungsclient wird diese Tabelle nicht angezeigt, sondern als Eingabe für andere Funktionen verwendet. Sie können z. B. eine Tabelle abrufen und dann die unterschiedlichen Werte darin zählen oder dynamische Summen von gefilterten Tabellen oder Spalten berechnen.
Zu den DAX-Funktionen zählen auch verschiedene Zeitintelligenzfunktionen . Mit diesen Funktionen können Sie Datumsbereiche definieren oder auswählen und dynamische Berechnungen auf Grundlage dieser Datumsangaben oder Bereiche durchführen. Sie können z. B. Summen über parallele Zeiträume vergleichen.
Aggregationsfunktionen
Aggregationsfunktionen berechnen einen (skalaren) Wert wie „count“, „sum“, „average“, „minimum“ oder „maximum“ für alle Zeilen in einer Spalte oder Tabelle, wie durch den Ausdruck definiert. Weitere Informationen finden Sie unter Aggregationsfunktionen.
Datums- und Uhrzeitfunktionen
Die Datums- und Uhrzeitfunktionen in DAX funktionieren ebenfalls ähnlich wie in Microsoft Excel. DAX-Funktionen basieren jedoch auf einem datetime-Datentyp, der mit dem 1. März 1900 beginnt. Weitere Informationen finden Sie unter Datums- und Uhrzeitfunktionen.
Filterfunktionen
Mit den Filterfunktionen in DAX können Sie bestimmte Datentypen abrufen, Werte in verknüpften Tabellen suchen und nach verknüpften Werten filtern. Die Suchfunktionen funktionieren mit Tabellen und Beziehungen wie bei einer Datenbank. Die Filterfunktionen ermöglichen die Anpassung des Datenkontexts zur Erstellung dynamischer Berechnungen. Weitere Informationen finden Sie unter Filterfunktionen.
Finanzfunktionen
Die Finanzfunktionen in DAX werden in Formeln verwendet, mit denen Finanzberechnungen durchgeführt werden, z. B. die Berechnung des Nettobarwerts und der Gewinnrate. Diese Funktionen ähneln den in Microsoft Excel verwendeten Finanzfunktionen. Weitere Informationen finden Sie unter Finanzfunktionen.
Informationsfunktionen
Eine Informationsfunktion prüft die als Argument bereitgestellte Zelle oder Zeile und gibt an, ob der Wert mit dem erwarteten Typ übereinstimmt. Die ISTFEHLER-Funktion gibt z. B. TRUE zurück, wenn der Wert, auf den Sie verweisen, fehlerhaft ist. Weitere Informationen finden Sie unter Informationsfunktionen.
Logische Funktionen
Logische Funktionen werden auf Ausdrücke angewendet, um Informationen zu den Werten in diesem Ausdruck zurückzugeben. Mit der Funktion TRUE können Sie beispielsweise erkennen, ob ein von Ihnen ausgewerteter Ausdruck einen TRUE-Wert zurückgibt. Weitere Informationen finden Sie unter Logische Funktionen.
Mathematische und trigonometrische Funktionen
Die mathematischen Funktionen in DAX sind den mathematischen und trigonometrischen Funktionen in Excel sehr ähnlich. Die von den DAX-Funktionen verwendeten numerischen Datentypen weisen einige kleinere Unterschiede auf. Weitere Informationen finden Sie unter Mathematische und trigonometrische Funktionen.
Andere Funktionen
Diese Funktionen führen eindeutige Aktionen aus, die nicht durch eine der Kategorien definiert werden können, zu denen die meisten anderen Funktionen gehören. Weitere Informationen finden Sie unter Andere Funktionen.
Beziehungsfunktionen
Mithilfe von Beziehungsfunktionen können Sie in DAX Werte aus einer anderen verknüpften Tabelle zurückgeben, eine bestimmte Beziehung angeben, die in einem Ausdruck verwendet werden soll, und die Richtung für die Kreuzfilterung angeben. Weitere Informationen finden Sie unter Beziehungsfunktionen.
Statistische Funktionen
Statistische Funktionen berechnen Werte im Zusammenhang mit statistischen Verteilungen und Wahrscheinlichkeit, z. B. Standardabweichung und Anzahl von Permutationen. Weitere Informationen finden Sie unter Statistische Funktionen.
Textfunktionen
Die Textfunktionen in DAX ähneln den entsprechenden Funktionen in Excel sehr. Sie können einen Teil einer Zeichenfolge zurückgeben, innerhalb einer Zeichenfolge nach Text suchen oder Zeichenfolgenwerte verketten. DAX stellt auch Funktionen zum Steuern der Formate für Datums- und Uhrzeitangaben sowie Zahlen bereit. Weitere Informationen finden Sie unter Textfunktionen.
Zeitintelligenzfunktionen
Mit den in DAX bereitgestellten Zeitintelligenzfunktionen können Sie Berechnungen erstellen, die integriertes Wissen zu Kalendern und Datumsangaben verwenden. Wenn Sie Zeit- und Datumsbereiche in Kombination mit Aggregationen oder Berechnungen verwenden, können Sie sinnvolle Vergleiche in vergleichbaren Zeiträumen für Verkäufe, Bestand usw. erstellen. Weitere Informationen finden Sie unter Zeitintelligenzfunktionen.
Funktionen zur Tabellenmanipulation
Diese Funktionen geben eine Tabelle zurück oder bearbeiten vorhandene Tabellen. Beispielsweise können Sie mit ADDCOLUMNS berechnete Spalten zu einer angegebenen Tabelle hinzufügen oder mit der Funktion SUMMARIZECOLUMNS eine Zusammenfassungstabelle für eine Reihe von Gruppen zurückgeben. Weitere Informationen finden Sie unter Tabellenbearbeitungsfunktionen.
Variablen
Sie können innerhalb eines Ausdrucks Variablen erstellen, indem Sie VAR verwenden. VAR ist eigentlich keine Funktion, sondern ein Schlüsselwort, mit dem Sie das Ergebnis eines Ausdrucks als benannte Variable speichern. Diese Variable kann dann als Argument an andere Measureausdrücke weitergegeben werden. Zum Beispiel:
VAR
TotalQty = SUM ( Sales[Quantity] )
Return
IF (
TotalQty > 1000,
TotalQty * 0.95,
TotalQty * 1.25
)
In diesem Beispiel kann TotalQty als benannte Variable an andere Ausdrücke übergeben werden. Bei Variablen kann es sich um einen beliebigen skalaren Datentyp handeln, u. a. Tabellen. Die Verwendung von Variablen eignet sich besonders gut im Zusammenhang mit DAX-Formeln.
Datentypen
Daten können in ein Modell aus vielen unterschiedlichen Datenquellen importiert werden, die unterschiedliche Datentypen unterstützen. Beim Importieren von Daten in ein Modell werden die Daten in einen der tabellarischen Modelldatentypen umgewandelt. Wenn die Modelldaten in einer Berechnung verwendet werden, werden die Daten für die Dauer und die Ausgabe der Berechnung dann in einen DAX-Datentyp konvertiert. Wenn Sie eine DAX-Formel erstellen, bestimmen die in der Formel verwendeten Begriffe automatisch den zurückgegebenen Wertdatentyp.
DAX unterstützt die folgenden Datentypen:
Datentyp im Modell | Datentyp in DAX | BESCHREIBUNG |
---|---|---|
Ganze Zahl | Ein ganzzahliger 64-Bit-Wert (acht Byte) 1, 2 | Zahlen ohne Dezimalstellen. Ganze Zahlen können positiv oder negativ sein, aber müssen ganze Zahlen zwischen -9 223 372 036 854 775 808 (-2^63) und 9 223 372 036 854 775 807 (2^63-1) sein. |
Decimal Number | Eine reelle 64-Bit-Zahl (acht Byte) 1, 2 | Reelle Zahlen sind Zahlen, die Dezimalstellen aufweisen können. Reelle Zahlen decken viele Werte ab: Negative Werte von -1,79E +308 bis -2,23E -308 Zero Positive Werte von 2,23E -308 bis -1,79E +308 Die Anzahl der relevanten Stellen wird jedoch auf siebzehn Dezimalstellen beschränkt. |
Boolescher Wert | Boolean | Entweder ein True oder ein False-Wert. |
Text | String | Eine Unicodezeichen-Datenzeichenfolge. Dies können Zeichenfolgen, Zahlen oder Datumsangaben im Textformat sein. |
Date | Datum/Uhrzeit | Datumsangaben und Uhrzeiten in einer akzeptierten Form für die Darstellung von Datum und Uhrzeit. Gültig sind alle Datumsangaben nach dem 1. März 1900. |
Währung | Währung | Der Währungsdatentyp lässt Werte zwischen -922 337 203 685 477,5808 und 922 337 203 685 477,5807 mit vier Dezimalstellen unveränderlicher Genauigkeit zu. |
– | Leer | Ein leerer Datentyp in DAX, der SQL-NULLEN darstellt und ersetzt. Sie können mit der BLANK-Funktion ein Leerzeichen erstellen und mit der logischen ISBLANK-Funktion nach Leerzeichen suchen. |
Tabellarische Datenmodelle umfassen auch den Datentyp Tabelle als Eingabe oder Ausgabe für viele DAX-Funktionen. Beispielsweise nimmt die FILTER-Funktion eine Tabelle als Eingabe an und gibt eine neue Tabelle aus, die nur die Zeilen enthält, die die Filterbedingungen erfüllen. Die Kombination von Tabellen- und Aggregationsfunktionen ermöglicht Ihnen die Ausführung komplexer Berechnungen für dynamisch definierte Datasets.
Obwohl Datentypen in der Regel automatisch festgelegt werden, ist es wichtig, ihre Funktion und Gültigkeit zu verstehen. Dies gilt insbesondere für DAX-Formeln. Fehler in Formeln oder unerwartete Ergebnisse werden z. B. oft von einem bestimmten Operator verursacht, der nicht mit einem in einem Argument angegebenen Datentyp verwendet werden kann. Die Formel = 1 & 2
gibt z.B. ein Zeichenfolgenergebnis von 12 zurück, die Formel = "1" + "2"
dagegen die ganze Zahl 3.
Kontext
Der Kontext ist ein wichtiges Konzept, das bei der Erstellung von DAX-Formeln zu beachten ist. Mithilfe des Kontexts können Sie dynamische Analysen ausführen, da sich die Ergebnisse einer Formel ändern und die aktuelle Zeilen- oder Zellenauswahl sowie alle verknüpften Daten widerspiegeln. Es ist sehr wichtig, dass Sie den Kontext verstehen und anwenden, um leistungsstarke, dynamische Analysen erstellen und Probleme in Formeln beheben zu können.
Formeln in tabellarischen Modellen können abhängig von anderen Entwurfselementen in einem anderen Kontext ausgewertet werden:
- Filter, die auf eine PivotTable oder einen Bericht angewendet werden
- Innerhalb einer Formel definierte Filter
- Mit besonderen Funktionen innerhalb einer Formel angegebene Beziehungen
Es gibt verschiedene Typen von Kontext: Zeilenkontext, Abfragekontextund Filterkontext.
Zeilenkontext
Den Zeilenkontext kann man sich als die aktuelle Zeile vorstellen. Wenn Sie in einer berechneten Spalte eine Formel erstellen, enthält der Zeilenkontext für diese Formel die Werte aller Spalten in der aktuellen Zeile. Wenn die Tabelle mit einer anderen Tabelle verknüpft ist, enthält der Kontext auch alle Werte aus der anderen Tabelle, die mit der aktuellen Zeile verknüpft sind.
Angenommen, Sie erstellen die berechnete Spalte = [Freight] + [Tax]
, die Werte aus zwei Spalten (Fracht und Steuer) aus derselben Tabelle addiert. Diese Formel ruft automatisch nur die Werte der aktuellen Zeile in der angegebenen Spalte ab.
Der Zeilenkontext folgt auch allen Beziehungen, die zwischen Tabellen definiert wurden, einschließlich der innerhalb einer berechneten Spalte mit DAX-Formeln definierten Beziehungen, um zu ermitteln, welche Zeilen in verknüpften Tabellen der aktuellen Zeile zugeordnet sind.
In der folgenden Formel wird z. B. mit der RELATED-Funktion auf Grundlage des Lands, in das die Bestellung ausgeliefert wurde, ein Steuerwert aus einer verknüpften Tabelle abgerufen. Der Steuerwert wird mit dem Wert für Region in der aktuellen Tabelle ermittelt. Die Region wird in der verknüpften Tabelle nachgeschlagen, und anschließend wird der Steuersatz für diese Region aus der verknüpften Tabelle abgerufen.
= [Freight] + RELATED('Region'[TaxRate])
Diese Formel ruft den Steuersatz für den aktuellen Bereich von der Tabelle Region ab und fügt es dem Wert der Spalte Fracht hinzu. In DAX-Formeln müssen Sie die bestimmte Beziehung zum Verknüpfen der Tabellen nicht kennen oder angeben.
Mehrere Zeilenkontexte
DAX umfasst Funktionen, die eine Tabelle durchlaufen, um Berechnungen durchzuführen. Diese Funktionen können über mehrere aktuelle Zeilen mit jeweils einem eigenen Zeilenkontext verfügen. In Wesentlichen können Sie mit diesen Funktionen Formeln erstellen, die Vorgänge rekursiv über eine innere und eine äußere Schleife ausführen.
Angenommen, das Modell enthält eine Products -Tabelle und eine Sales -Tabelle. Sie können z. B. die gesamte Sales-Tabelle durchlaufen, die mit Transaktionen verschiedener Produkte gefüllt ist, um die größte Bestellmenge für jedes Produkt in einer beliebigen Transaktion zu ermitteln.
Mit DAX können Sie eine einzelne Formel erstellen, die den richtigen Wert zurückgibt, und die Ergebnisse werden automatisch bei jedem Hinzufügen von Daten zu den Tabellen aktualisiert.
= MAXX(FILTER(Sales,[ProdKey] = EARLIER([ProdKey])),Sales[OrderQty])
Ein ausführliches Beispiel für diese Formel finden Sie unter EARLIER.
Zusammengefasst speichert die EARLIER-Funktion den Zeilenkontext des Vorgangs, der dem aktuellen Vorgang vorausging. Die Funktion speichert zu jedem Zeitpunkt zwei Kontextsätze im Arbeitsspeicher: Ein Kontextsatz stellt die aktuelle Zeile für die innere Schleife der Formel dar, und ein weiterer Kontextsatz stellt die aktuelle Zeile für die äußere Schleife der Formel dar. DAX übermittelt automatisch Werte zwischen den zwei Schleifen, sodass komplexe Aggregate erstellt werden können.
Abfragekontext
DerAbfragekontext ist die Teilmenge von Daten, die implizit für eine Formel abgerufen wird. Wenn beispielsweise ein Benutzer ein Measure oder Feld in einem Bericht verwendet, untersucht die Engine die Zeilen- und Spaltenüberschriften, Datenschnitte und Berichtsfilter, um den Kontext zu ermitteln. Anschließend werden die erforderlichen Abfragen für die Modelldaten ausgeführt, um die richtige Teilmenge von Daten zu erhalten, die von der Formel definierten Berechnungen durchzuführen und dann die Werte in den Bericht zu übernehmen.
Da sich der Kontext abhängig von der Position der Formel ändert, können sich auch die Ergebnisse der Formel ändern. Angenommen, Sie erstellen eine Formel, die die Werte in der Profit-Spalte der Sales-Tabelle summiert: = SUM('Sales'[Profit])
. Wenn Sie diese Formel in einer berechneten Spalte innerhalb der Sales-Tabelle verwenden, sind die Ergebnisse für die Formel für die gesamte Tabelle identisch, da der Abfragekontext für die Formel immer das gesamte Dataset der Sales-Tabelle ist. Die Ergebnisse werden für alle Regionen, alle Produkte, alle Jahre usw. von Nutzen sein.
Benutzer wollen jedoch in der Regel nicht mehrfach das gleiche Ergebnis angezeigt bekommen, sondern stattdessen den Gewinn für ein bestimmtes Jahr, ein bestimmtes Land, ein bestimmtes Produkt oder eine Kombination davon einsehen und dann ein Gesamtergebnis erhalten.
In einem Bericht wird der Kontext geändert, indem Filter angewendet, Felder hinzugefügt oder entfernt oder Datenschnitte verwendet werden. Bei jeder dieser Änderungen ändert sich der Abfragekontext, in dem das Measure ausgewertet wird. Daher wird dieselbe Formel, wenn sie in einem Measure verwendet wird, für jede Zelle in einem anderen Abfragekontext ausgewertet.
Filterkontext
DerFilterkontext ist der Satz von Werten, die in jeder Spalte oder in den aus einer verknüpften Tabelle abgerufenen Werten zulässig sind. Filter können im Designer oder in der Darstellungsschicht (Berichte und PivotTables) auf eine Spalte angewendet werden. Filter können auch explizit durch Filterausdrücke innerhalb der Formel definiert werden.
Der Filterkontext wird hinzugefügt, wenn Sie Filtereinschränkungen für den in einer Spalte oder einer Tabelle zulässigen Satz von Werten angeben, indem Sie in einer Formel Argumente verwenden. Der Filterkontext wird zusätzlich zu anderen Kontexten wie dem Zeilenkontext oder Abfragekontext angewendet.
In tabellarischen Modellen gibt es verschiedene Möglichkeiten, einen Filterkontext zu erstellen. Innerhalb des Kontexts von Clients, die das Modell verwenden können, wie z. B. Power BI-Berichte, können Benutzer dynamisch Filter erstellen, indem Sie Slicer oder Berichtsfilter für die Zeilen- und Spaltenüberschriften hinzufügen. Sie können Filterausdrücke auch direkt in der Formel verwenden, um verknüpfte Werte anzugeben, Tabellen zu filtern, die als Eingaben verwendet werden, oder dynamisch den Kontext für Werte abzurufen, die in Berechnungen verwendet werden. Darüber hinaus können Sie die Filter für einzelne Spalten vollständig oder selektiv löschen. Beim Erstellen von Formeln, die Gesamtergebnisse berechnen, ist dies sehr nützlich.
Weitere Informationen zum Erstellen von Filtern innerhalb von Formeln finden Sie im Artikel zur FILTER-Funktion (DAX).
Ein Beispiel dazu, wie Filter gelöscht werden können, um Gesamtergebnisse zu erzeugen, finden Sie unter ALL-Funktion (DAX).
Beispiele für das selektive Löschen und Anwenden von Filtern innerhalb von Formeln finden Sie unter ALLEXCEPT.
Bestimmen des Kontexts in Formeln
Wenn Sie eine DAX-Formel erstellen, wird die Formel zuerst auf gültige Syntax getestet, und dann wird überprüft, ob die Namen der Spalten und Tabellen innerhalb der Formel im aktuellen Kontext vorhanden sind. Wenn eine Spalte oder Tabelle innerhalb der Formel nicht gefunden wird, wird ein Fehler zurückgegeben.
Wie in den vorangehenden Abschnitten beschrieben, wird der Kontext während der Validierung (und während Neuberechnungen) anhand der verfügbaren Tabellen im Modell, anhand der Beziehungen zwischen den Tabellen und anhand der angewendeten Filter bestimmt.
Wenn Sie z.B. gerade einige Daten in eine neue Tabelle importiert haben, die mit keiner anderen Tabelle verknüpft ist (und Sie keine Filter angewendet haben), ist der aktuelle Kontext der gesamte Satz von Spalten in der Tabelle. Wenn die Tabelle über Beziehungen mit anderen Tabellen verknüpft ist, beinhaltet der aktuelle Kontext auch die verknüpften Tabellen. Wenn Sie eine Spalte aus der Tabelle einem Bericht hinzufügen, der Slicer und ggf. auch Berichtsfilter verwendet, ist der Kontext für die Formel die Teilmenge der Daten in jeder Zelle des Berichts.
Der Kontext ist ein leistungsstarkes Konzept, das die Fehlerbehebung in Formeln allerdings auch erschweren kann. Sie sollten daher mit einfachen Formeln und Beziehungen beginnen, um die Funktionsweise des Kontexts zu verstehen. Der folgende Abschnitt enthält einige Beispiele für Formeln, in denen verschiedene Kontexttypen zur dynamischen Rückgabe von Ergebnissen verwendet werden.
Operatoren
In der DAX-Sprache werden vier verschiedene Berechnungsoperatortypen in Formeln verwendet:
- Vergleichsoperatoren, um Werte zu vergleichen und einen logischen TRUE\FALSE-Wert zurückzugeben
- Arithmetische Operatoren, um arithmetische Berechnungen auszuführen, die numerische Werte zurückgeben
- Textverkettungsoperatoren, die zwei oder mehr Textzeichenfolgen verknüpfen
- Logische Operatoren, die zwei oder mehr Ausdrücke kombinieren, um ein einzelnes Ergebnis zurückzugeben
Ausführliche Informationen zu den in DAX-Formeln verwendeten Operatoren finden Sie unter DAX-Operatoren.
Arbeiten mit Tabellen und Spalten
Tabellen in tabellarischen Datenmodellen sehen wie Excel-Tabellen aus, unterscheiden sich jedoch in der Art und Weise, wie sie mit Daten und Formeln arbeiten:
- Formeln funktionieren nur für Tabellen und Spalten, nicht für einzelne Zellen, Bereichsverweise oder Arrays.
- Formeln können Beziehungen verwenden, um Werte aus verknüpften Tabellen abzurufen. Die Werte, die abgerufen werden, beziehen sich immer auf den aktuellen Zeilenwert.
- Sie können keine unregelmäßigen Daten verwenden, so wie dies in einem Excel-Arbeitsblatt möglich ist. Jede Zeile in einer Tabelle muss die gleiche Anzahl von Spalten enthalten. In einigen Spalten können jedoch leere Werte stehen. Excel-Datentabellen und Datentabellen aus tabellarischen Modellen sind nicht austauschbar.
- Da der Datentyp für jede Spalte festgelegt ist, muss jeder Wert in dieser Spalte vom gleichen Typ sein,
Verweisen auf Tabellen und Spalten in Formeln
Sie können auf alle Tabellen und Spalten anhand des Namens verweisen. Die folgende Formel veranschaulicht z.B., wie Sie auf die Spalten aus zwei Tabellen verweisen, indem Sie den vollqualifizierten Namen verwenden:
= SUM('New Sales'[Amount]) + SUM('Past Sales'[Amount])
Wenn eine Formel ausgewertet wird, überprüft der Modell-Designer zuerst die allgemeine Syntax und vergleicht dann die von Ihnen bereitgestellten Namen der Spalten und Tabellen mit möglichen Spalten und Tabellen im aktuellen Kontext. Wenn der Name mehrdeutig ist oder die Spalte oder die Tabelle nicht gefunden werden kann, wird für die Formel (statt eines Datenwerts wird in Zellen, in denen der Fehler auftritt, eine #ERROR-Zeichenfolge angezeigt) ein Fehler ausgegeben. Weitere Informationen zu den Benennungsanforderungen für Tabellen, Spalten und andere Objekte finden Sie im Abschnitt „Benennungsanforderungen“ des Artikels DAX-Syntax.
Tabellenbeziehungen
Wenn Sie Beziehungen zwischen Tabellen erstellen, können Sie verknüpfte Werte aus anderen Tabellen in Berechnungen verwenden. Beispielsweise können Sie eine berechnete Spalte verwenden, um alle Versandunterlagen für den aktuellen Handelspartner zu ermitteln und dann die jeweiligen Versandkosten zusammenzufassen. In vielen Fällen ist eine Beziehung u. U. nicht notwendig. Sie können die LOOKUPVALUE-Funktion in einer Formel verwenden, um den Wert in result_columnName für die Zeile zurückzugeben, die die in den Argumenten search_column und search_value angegebenen Kriterien erfüllt.
Viele DAX-Funktionen erfordern, dass zwischen zwei Tabellen oder unter mehreren Tabellen eine Beziehung besteht, um die referenzierten Spalten zu finden und sinnvolle Ergebnisse zurückzugeben. Andere Funktionen versuchen, die Beziehung zu ermitteln. Um jedoch die besten Ergebnisse zu erzielen, sollten Sie nach Möglichkeit immer eine Beziehung erstellen. Tabellarische Datenmodelle unterstützen mehrere Beziehungen zwischen Tabellen. Es wird jeweils nur eine Beziehung als aktive Beziehung festgelegt, um Verwirrung oder falsche Ergebnisse zu vermeiden. Sie können die aktive Beziehung jedoch nach Bedarf ändern, um in Berechnungen unterschiedliche Verbindungen in den Daten zu durchlaufen. Die USERELATIONSHIP-Funktion kann verwendet werden, um mindestens eine Beziehung anzugeben, die in einer bestimmten Berechnung verwendet werden soll.
Es ist wichtig zu beachten, dass diese Formeln bei der Verwendung von Beziehungen Regeln aufstellen:
Wenn Tabellen durch eine Beziehung verbunden sind, müssen Sie sicherstellen, dass die beiden als Schlüssel verwendeten Spalten über die gleichen Werte verfügen. Die referenzielle Integrität wird nicht erzwungen, daher ist es möglich, in einer Schlüsselspalte nicht übereinstimmende Werte zu haben und trotzdem eine Beziehung zu erstellen. In so einem Fall müssen Sie beachten, dass leere oder nicht übereinstimmende Werte die Ergebnisse von Formeln beeinflussen können.
Wenn Sie Tabellen im Modell mithilfe von Beziehungen verknüpfen, vergrößern Sie den Bereich oder Kontext, in dem die Formeln ausgewertet werden. Änderungen im Kontext, die sich aus der Hinzufügung neuer Tabellen, neuen Beziehungen oder aus Änderungen in der aktiven Beziehung ergeben, können zu unerwarteten Änderungen in den Ergebnissen führen. Weitere Informationen finden Sie in diesem Artikel unter Kontext.
Verarbeiten und Aktualisieren
Process (Verarbeiten) und recalculation (Neuberechnung) sind zwei separate, aber verwandte Vorgänge. Diese Konzepte sollten Ihnen sehr geläufig sein, wenn Sie ein Modell mit komplexen Formeln, großen Datenmengen oder aus externen Datenquellen abgerufenen Daten entwerfen.
Process (refresh) (Verarbeiten (aktualisieren)) aktualisiert die Daten in einem Modell mit neuen Daten aus einer externen Datenquelle.
Neuberechnung ist der Vorgang, bei dem die Ergebnisse von Formeln aktualisiert werden, um Änderungen an den Formeln sowie an den zugrunde liegenden Daten widerzuspiegeln. Neuberechnung kann die Leistung in folgender Weise beeinträchtigen:
Die Werte in einer berechneten Spalte werden berechnet und im Modell gespeichert. Um die Werte in der berechneten Spalte zu aktualisieren, müssen Sie das Modell mit einem von drei Verarbeitungsbefehlen verarbeiten: Vollständig verarbeiten, Daten verarbeiten oder Prozessneuberechnung. Das Ergebnis der Formel muss immer für die ganze Spalte neu berechnet werden, wenn Sie die Formel ändern.
Die durch Measures berechneten Werte werden dynamisch ausgewertet, wenn ein Benutzer das Measure einer PivotTable hinzufügt oder einen Bericht öffnet. Wenn der Benutzer den Kontext ändert, ändern sich die vom Measure zurückgegebenen Werte. Die Ergebnisse des Measures spiegeln immer den aktuellen Stand des speicherinternen Caches wider.
Die Verarbeitung und Neuberechnung haben keine Auswirkungen auf Formeln für Sicherheit auf Zeilenebene, es sei denn, das Ergebnis einer Neuberechnung gibt einen anderen Wert zurück, sodass die Zeile für Rollenmitglieder abfragbar oder nicht abfragbar wird.
Updates
DAX wird kontinuierlich verbessert. Neue und aktualisierte Funktionen werden jeweils mit dem nächsten verfügbaren Update veröffentlicht, in der Regel monatlich. Dienste werden zuerst aktualisiert, gefolgt von installierten Anwendungen wie Power BI Desktop, Excel, dem SQL Server Management Studio (SSMS) und der Analysis Services-Projekterweiterung für Visual Studio (SSDT). SQL Server Analysis Services wird im nächsten kumulativen Update aktualisiert. Neue Funktionen werden zuerst in der DAX-Funktionsreferenz zeitgleich mit Power BI Desktop-Updates angekündigt und beschrieben.
Nicht alle Funktionen werden in früheren Versionen von SQL Server Analysis Services und Excel unterstützt.
Problembehandlung
Wenn Sie beim Definieren einer Formel einen Fehler erhalten, enthält die Formel eventuell entweder einen Syntaxfehler, einen Semantikfehleroder einen Berechnungsfehler.
Syntaxfehler sind am einfachsten zu beheben. Meist geht es um eine fehlende Klammer oder ein fehlendes Komma.
Der andere Fehlertyp tritt auf, wenn die Syntax richtig ist, aber der Wert oder eine Spalte, auf die verwiesen wird, im Kontext der Formel keinen Sinn ergibt. Semantik- und Berechnungsfehler dieser Art können die folgenden Ursachen haben:
- Die Formel verweist auf eine nicht vorhandene Spalte, Tabelle oder Funktion.
- Die Formel scheint korrekt zu sein, aber wenn die Data Engine die Daten abruft, wird ein Typenkonflikt gefunden, und es wird ein Fehler ausgelöst.
- Die Formel übergibt eine falsche Anzahl von Argumenten oder einen falschen Argumenttyp an eine Funktion.
- Die Formel verweist auf eine andere Spalte mit einem Fehler, weshalb die Werte ungültig sind.
- Die Formel verweist auf eine Spalte, die nicht verarbeitet wurde, d. h., es sind Metadaten vorhanden, aber keine tatsächlichen Daten, die für Berechnungen verwendet werden könnten.
In den ersten vier Fällen kennzeichnet DAX die gesamte Spalte mit der ungültigen Formel. Im letzten Fall blendet DAX die Spalte ab, um anzugeben, dass sich die Spalte in einem nicht verarbeiteten Zustand befindet.
Apps und Tools
Power BI Desktop
Power BI Desktop ist eine kostenlose Anwendung für die Datenmodellierung und Berichterstellung. Der Modell-Designer enthält einen DAX-Editor zum Erstellen von DAX-Berechnungsformeln.
Power Pivot in Excel
Der Power Pivot in Excel-Modell-Designer enthält einen DAX-Editor zum Erstellen von DAX-Berechnungsformeln.
Visual Studio
Visual Studio mit der Erweiterung Analysis Services Projects (VSIX) wird verwendet, um Analysis Services-Modellprojekte zu erstellen. Der Designer für tabellarische Modelle, der mit der Projects-Erweiterung installiert wird, enthält einen DAX-Editor.
SQL Server Management Studio
SQL Server Management Studio (SSMS) ist ein wichtiges Tool für die Arbeit mit Analysis Services. SSMS enthält einen DAX-Abfrage-Editor zum Abfragen von tabellarischen und mehrdimensionalen Modellen.
DAX Studio
Bei DAX Studio handelt es sich um ein Open-Source-Clienttool zum Erstellen und Ausführen von DAX-Abfragen für Analysis Services, Power BI Desktop und Power Pivot in Excel-Modellen.
Tabular Editor
Tabular Editor ist ein Open-Source-Tool, das eine intuitive, hierarchische Ansicht jedes Objekts in tabellarischen Modellmetadaten bietet. Tabular Editor enthält einen DAX-Editor mit Syntaxmarkierung, sodass Sie Measures, berechnete Spalten und berechnete Tabellenausdrücke ganz einfach bearbeiten können.
Lernressourcen
Beim Erlernen von DAX empfiehlt es sich, die Anwendung zu verwenden, mit der Sie auch Ihre Datenmodelle erstellen. Analysis Services, Power BI Desktop und Power Pivot in Excel verfügen alle über Artikel und Tutorials, die Lektionen zur Erstellung von Measures, berechneten Spalten und Zeilenfiltern mithilfe von DAX enthalten. Hier sind einige zusätzlichen Ressourcen:
Lernpfad: Verwenden von DAX in Power BI Desktop
Der definitive Leitfaden für DAX von Alberto Ferrari und Marco Russo (Microsoft Press). In dieser zweiten Edition enthält der umfassende Leitfaden grundlegende Informationen zu innovativen Hochleistungstechniken für angehende Datenmodellierer und BI-Experten.
Community
DAX hat eine lebendige Community, die immer dazu bereit ist, ihr Know-how zu teilen. In der Microsoft Power BI-Community gibt es ein spezielles Diskussionsforum nur für DAX, DAX Commands and Tips (DAX-Befehle und Tipps).