Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Datenanalyseausdrücke (DAX) sind eine Formelausdrucksprache, die in Analysis Services, Power BI und Power Pivot in Excel verwendet wird. DAX Formeln umfassen Funktionen, Operatoren und Werte zum Ausführen erweiterter Berechnungen und Abfragen von Daten in verknüpften Tabellen und Spalten in Tabellendatenmodellen.
Dieser Artikel enthält nur eine grundlegende Einführung in die wichtigsten Konzepte in DAX. Es beschreibt DAX, wie es auf alle Produkte zutrifft, die es verwenden. Einige Funktionen gelten möglicherweise nicht für bestimmte Produkte oder Anwendungsfälle. Lesen Sie die Dokumentation Ihres Produkts, in der die jeweilige Implementierung DAXbeschrieben wird.
Berechnungen
DAX Formeln werden in Messwerten, berechneten Spalten, berechneten Tabellen und Zeilenebene-Sicherheit verwendet.
Maßnahmen
Measures sind dynamische Berechnungsformeln, bei denen sich die Ergebnisse je nach Kontext ändern. Measures werden in Berichten verwendet, die das Kombinieren und Filtern von Modelldaten mithilfe mehrerer Attribute wie einem Power BI-Bericht oder Excel PivotTable oder PivotChart unterstützen. Measures werden mithilfe der DAX Bearbeitungsleiste im Modell-Designer erstellt.
Eine Formel in einem Measure kann standardmäßige Aggregationsfunktionen verwenden, die automatisch mithilfe der Autosummenfunktion erstellt werden, wie COUNT oder SUM, oder Sie können ihre eigene Formel mithilfe der DAX Bearbeitungsleiste definieren. Benannte Maßnahmen können als Argumente an andere Maßnahmen übergeben werden.
Wenn Sie eine Formel für einen Messwert in der Bearbeitungsleiste definieren, zeigt die Tooltip-Funktion eine Vorschau der Ergebnisse der Summe im aktuellen Kontext an, sonst werden die Ergebnisse nicht sofort irgendwo ausgegeben. Weil das Ergebnis einer Maßnahme nicht ohne Kontext bestimmt werden kann, können die (gefilterten) Ergebnisse der Berechnung nicht sofort angezeigt werden. Zum Auswerten eines Maßes ist eine Berichtsklientenanwendung erforderlich, die den Kontext bereitstellen kann, der für das Abrufen relevanter Daten für jede Zelle benötigt wird, um anschließend den Ausdruck für jede Zelle auswerten zu können. Dieser Client kann eine Excel-PivotTable oder ein PivotChart, ein Power BI-Bericht oder ein Tabellenausdruck in einer DAX Abfrage in SQL Server Management Studio (SSMS) sein.
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 Datenschnitten und Filtern in einem Power BI-Bericht generiert eine andere Teilmenge von Daten, über die das Measure berechnet wird. Verwenden Sie z. B. diese sehr einfache Maßnahmeformel:
Total Sales = SUM([Sales Amount])
Wenn ein Benutzer das Measure "TotalSales" in einem Bericht platziert und dann die Spalte "Produktkategorie" aus einer Tabelle "Artikel" in "Filter" platziert, wird die Summe des Umsatzbetrags für jede Produktkategorie berechnet und angezeigt.
Im Gegensatz zu berechneten Spalten enthält die Syntax für eine Kennzahl den Namen der Kennzahl vor der Formel. Im soeben angegebenen Beispiel wird der Name "Gesamtumsatz " 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 DesktopMeasures in Analysis ServicesMeasures 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 Werte für jede Zeile berechnet, sobald die Formel eingegeben wird. Werte werden dann im Speicherdatenmodell gespeichert. Beispielsweise in einer Datumstabelle, wenn die Formel in die Bearbeitungsleiste eingegeben wird:
= [Calendar Year] & " Q" & [Calendar Quarter]
Ein Wert für jede Zeile in der Tabelle wird berechnet, indem Werte aus der Spalte "Kalenderjahr" (in derselben Tabelle "Datum") verwendet werden, ein Leerzeichen und der Großbuchstabe Q und dann die Werte aus der Spalte "Kalenderquartal" (in derselben Tabelle "Datum") hinzugefügt werden. Das Ergebnis für jede Zeile in der berechneten Spalte wird sofort berechnet und wird z. B. als 2017 Q1 angezeigt. 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, z. B. beim Schließen und erneuten Öffnen einer Power BI-Desktopdatei.
Weitere Informationen finden Sie unter: Berechnete Spalten in Power BI DesktopCalculated columns in Analysis ServicesCalculated Columns in Power Pivot.
Berechnete Tabellen
Eine berechnete Tabelle ist ein berechnetes Objekt, das auf einem Formelausdruck basiert und von allen oder Teilen anderer Tabellen im selben Modell abgeleitet wird. Anstatt Werte aus einer Datenquelle in die Spalten der neuen Tabelle zu abfragen und zu laden, definiert eine DAX Formel die Werte der Tabelle.
Berechnete Tabellen können in einer Rollenspieldimension hilfreich sein. Ein Beispiel hierfür ist die Tabelle „Date“, da OrderDate, ShipDate oder DueDate von der Fremdschlüsselbeziehung abhängig sind. Durch die explizite Erstellung einer berechneten Tabelle für ShipDate erhalten Sie eine eigenständige Tabelle, die für Abfragen verfügbar ist, so vollständig funktionsfähig wie jede andere Tabelle. Berechnete Tabellen sind auch hilfreich beim Konfigurieren eines gefilterten Rowsets oder einer Teilmenge oder Übermenge von Spalten aus anderen vorhandenen Tabellen. Auf diese Weise können Sie die ursprüngliche Tabelle beibehalten, während Sie Variationen dieser Tabelle erstellen, um bestimmte Szenarien zu unterstützen.
Berechnete Tabellen unterstützen Beziehungen zu anderen Tabellen. Die Spalten in der berechneten Tabelle weisen Datentypen, 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 Daten abgerufen werden, aktualisiert oder erneuert wird.
Weitere Informationen finden Sie unter: Berechnete Tabellen in Power BI DesktopCalculated tables in Analysis Services.
Sicherheit auf Zeilenebene
Bei der Sicherheit auf Zeilenebene muss eine DAX Formel zu einer booleschen TRUE/FALSE Bedingung ausgewertet werden, die festlegt, welche Zeilen durch die Ergebnisse einer Abfrage von Mitgliedern einer bestimmten Rolle zurückgegeben werden können. Zum Beispiel für Mitglieder der Vertriebsrolle die Kundentabelle mit der folgenden DAX Formel:
= Customers[Country] = "USA"
Mitglieder der Vertriebsrolle können nur Daten für Kunden in den USA anzeigen, und Aggregate, z. B. SUM, werden nur für Kunden in den USA zurückgegeben. Sicherheit auf Zeilenebene ist in Power Pivot in Excel nicht verfügbar.
Beim Definieren der Sicherheit auf Zeilenebene mithilfe der Formel DAX erstellen Sie einen zulässigen Zeilensatz. Dadurch wird der Zugriff auf andere Zeilen nicht verweigert; Stattdessen werden sie nicht als Teil des zulässigen Zeilensatzes zurückgegeben. Andere Rollen können den Zugriff auf die zeilen zulassen, die von der DAX Formel ausgeschlossen werden. Wenn ein Benutzer Mitglied einer anderen Rolle ist und die Sicherheit auf Zeilenebene dieser Rolle den Zugriff auf diesen bestimmten Zeilensatz ermöglicht, kann der Benutzer Daten für diese Zeile anzeigen.
Sicherheitsformeln auf Zeilenebene gelten sowohl für die angegebenen Zeilen als auch für verwandte Zeilen. Wenn eine Tabelle über mehrere Beziehungen verfügt, wenden Filter für die aktive Beziehung Sicherheitsfunktionen an. Es wird die Schnittmenge aus Formeln für Sicherheit auf Zeilenebene und anderen für verknüpfte Tabellen definierten Formeln gebildet.
Weitere Informationen siehe: Sicherheit auf Zeilenebene (RLS) mit Power BI-Rollenin Analysis Services
Fragen
DAX Abfragen können in SQL Server Management Studio (SSMS) und Open-Source-Tools wie DAX Studio (daxstudio.org) erstellt und ausgeführt werden. Im Gegensatz zu DAX Berechnungsformeln, die nur in tabellarischen Datenmodellen erstellt werden können, DAX können Abfragen auch für multidimensionale Analysis Services-Modelle ausgeführt werden. DAX Abfragen sind häufig einfacher zu schreiben und effizienter als multidimensionale Datenausdrücke (MDX)-Abfragen.
Eine DAX Abfrage ist eine Anweisung, ähnlich einer SELECT-Anweisung in T-SQL. Der grundlegendste Abfragetyp DAX ist eine evaluate-Anweisung . Beispiel:
EVALUATE
( FILTER ( 'DimProduct', [SafetyStockLevel] < 200 ) )
ORDER BY [EnglishProductName] ASC
Gibt in den Ergebnissen eine Tabelle zurück, die nur die Produkte mit einem Sicherheitsbestand von unter 200 in aufsteigender Reihenfolge nach dem EnglishProductName sortiert auflistet.
Sie können Kennzahlen als Teil der Abfrage erstellen. 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 und zum Sichern Ihrer Daten mithilfe von Sicherheit auf Zeilenebene unerlässlich. Um Formeln für berechnete Spalten und Maßeinheiten zu erstellen, verwenden Sie die Bearbeitungsleiste am oberen Rand des Modell-Designer-Fensters oder des DAX Editors. Verwenden Sie das Dialogfeld "Rollen-Manager" oder "Rollen verwalten", um Formeln für die Sicherheit auf Zeilenebene zu erstellen. Informationen in diesem Abschnitt sollen Ihnen den Einstieg in die Grundlagen von DAX Formeln erleichtern.
Formelgrundlagen
DAX Formeln können sehr einfach oder recht komplex sein. Die folgende Tabelle enthält einige Beispiele für einfache Formeln, 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 derselben Zeile von [Spalte1] und [Spalte2] hinzu und fügt die Ergebnisse in die berechnete Spalte derselben 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.
Beginnen Sie mit der Eingabe der ersten Buchstaben der gewünschten Funktion oder des gewünschten Namens, und AutoVervollständigen zeigt eine Liste der verfügbaren Funktionen, Tabellen und Spalten an. Drücken Sie die TAB-TASTE, 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. Wenn Sie eine Funktion aus der Dropdownliste auswählen möchten, markieren Sie das Element mithilfe der Pfeiltasten, und klicken Sie auf "OK ", um die Funktion der Formel hinzuzufügen.
Geben Sie die Argumente an die Funktion an, indem Sie sie aus einer Dropdownliste möglicher Tabellen und Spalten oder durch Eingeben von Werten auswählen.
Überprüfen Sie auf Syntaxfehler: Stellen Sie sicher, dass alle Klammern geschlossen sind und Spalten, Tabellen und Werte korrekt referenziert werden.
Drücken Sie die EINGABETASTE, um die Formel zu akzeptieren.
Hinweis
Sobald Sie die Formel eingeben und diese gültig ist, wird die berechnete Spalte mit Werten gefüllt. In einem Measure wird durch Drücken von ENTER die Measure-Definition in der Tabelle gespeichert. Wenn eine Formel ungültig ist, wird ein Fehler angezeigt.
In diesem Beispiel betrachten wir eine Formel in einem Measure namens "Tage im aktuellen Quartal":
Days in Current Quarter = COUNTROWS( DATESBETWEEN( 'Date'[Date], STARTOFQUARTER( LASTDATE('Date'[Date])), ENDOFQUARTER('Date'[Date])))
Dieses Measure wird verwendet, um ein Vergleichsverhältnis zwischen einem unvollständigen Zeitraum und dem vorherigen Zeitraum zu erstellen. Die Formel muss den Anteil des verstrichenen Zeitraums berücksichtigen und mit demselben Anteil im vorherigen Zeitraum vergleichen. In diesem Fall gibt [Tage aktuelles Quartal bis Datum]/[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 der Maßnahme. |
= |
Das Gleichheitszeichen (=) beginnt mit der Formel. |
COUNTROWS |
COUNTROWS Zählt die Anzahl der Zeilen in der Tabelle "Datum" |
() |
Offene und schließende Klammer gibt Argumente an. |
DATESBETWEEN |
Die DATESBETWEEN Funktion gibt die Datumsangaben zwischen dem letzten Datum für jeden Wert in der Spalte "Datum" in der Tabelle "Datum" zurück. |
'Date' |
Gibt die Date-Tabelle an. Tabellen befinden sich in einfachen Anführungszeichen. |
[Date] |
Gibt die Date-Spalte in der Date-Tabelle an. Spalten werden in eckigen Klammern angegeben. |
, |
|
STARTOFQUARTER |
Die STARTOFQUARTER Funktion gibt das Datum des Anfangs des Quartals zurück. |
LASTDATE |
Die LASTDATE Funktion gibt das letzte Datum 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 hilft Ihnen, eine gültige Formelsyntax einzugeben, indem es Ihnen Optionen für jedes Element in der Formel anbietet.
Sie können das AutoVervollständigen von Formeln in der Mitte einer vorhandenen Formel mit geschachtelten Funktionen verwenden. Der Text unmittelbar vor der Einfügemarke wird verwendet, um Werte in der Dropdownliste anzuzeigen, und der gesamte Text nach der Einfügemarke bleibt unverändert.
AutoVervollständigen fügt keine schließenden Klammer von Funktionen hinzu und gleicht Klammern nicht automatisch ab. Sie müssen sicherstellen, dass jede Funktion syntaktisch korrekt ist, oder Sie können die Formel nicht speichern oder verwenden.
Verwenden mehrerer Funktionen in einer Formel
Sie können Funktionen verschachteln, was bedeutet, dass Sie die Ergebnisse einer Funktion als Argument einer anderen Funktion verwenden. Sie können bis zu 64 Ebenen von Funktionen in berechneten Spalten schachteln. Durch die Schachtelung kann es jedoch schwierig werden, Formeln zu erstellen oder Fehler zu beheben. Viele Funktionen sind so konzipiert, dass sie ausschließlich als geschachtelte Funktionen verwendet werden. Diese Funktionen geben eine Tabelle zurück, die nicht direkt als Ergebnis gespeichert werden kann. sie muss als Eingabe für eine Tabellenfunktion bereitgestellt werden. Beispielsweise benötigen die Funktionen SUMXAVERAGEX, und MINX alle eine Tabelle als erstes Argument.
Funktionen
Eine Funktion ist eine benannte Formel innerhalb eines Ausdrucks. Die meisten Funktionen verfügen über erforderliche und optionale Argumente, die auch als Parameter bezeichnet werden, als Eingabe. Wenn die Funktion ausgeführt wird, wird ein Wert zurückgegeben. DAX enthält Funktionen, mit denen Sie Berechnungen mit Datums- und Uhrzeitwerten durchführen, bedingte Werte erstellen, mit Zeichenfolgen arbeiten, Nachschlagevorgänge basierend auf Beziehungen ausführen und die Möglichkeit zum Durchlaufen einer Tabelle zum Ausführen rekursiver Berechnungen verwenden können. Wenn Sie mit Excel-Formeln vertraut sind, werden viele dieser Funktionen sehr ähnlich angezeigt. DAX Formeln unterscheiden sich jedoch auf die folgenden wichtigen Weisen:
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.
Wenn Sie Berechnungen zeilenweise anpassen müssen, bietet DAX Funktionen, bei denen Sie den Wert der aktuellen Zeile oder einen damit zusammenhängenden Wert als eine Art Parameter verwenden können, um Berechnungen durchzuführen, die sich je nach Kontext unterscheiden. Informationen zur Funktionsweise dieser Funktionen finden Sie im Kontext in diesem Artikel.
DAX enthält viele Funktionen, die eine Tabelle anstelle eines Werts zurückgeben. Die Tabelle wird nicht in einem Berichterstellungsclient angezeigt, sondern wird verwendet, um Eingaben für andere Funktionen bereitzustellen. Sie können beispielsweise eine Tabelle abrufen und dann die unterschiedlichen Werte in ihr zählen oder dynamische Summen über gefilterte Tabellen oder Spalten hinweg berechnen.
DAX Funktionen umfassen eine Vielzahl von Zeitintelligenzfunktionen . Mit diesen Funktionen können Sie Datumsbereiche definieren oder auswählen und dynamische Berechnungen basierend auf diesen Datumsangaben oder Bereichen durchführen. Sie können beispielsweise Summen über parallele Zeiträume hinweg vergleichen.
Aggregationsfunktionen
Aggregationsfunktionen berechnen einen (skalaren) Wert wie Anzahl, Summe, Mittelwert, 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 DAX ähneln den Datums- und Uhrzeitfunktionen in Microsoft Excel. DAX Funktionen basieren jedoch auf einem Datetime-Datentyp ab dem 1. März 1900. Weitere Informationen finden Sie unter Datums- und Uhrzeitfunktionen.
Filterfunktionen
Die Filterfunktionen in DAX geben spezifische Datentypen zurück, schlagen Werte in verwandten Tabellen nach und filtern nach verwandten Werten. Die Nachschlagefunktionen funktionieren mithilfe von Tabellen und Beziehungen wie einer Datenbank. Mit den Filterfunktionen können Sie den Datenkontext bearbeiten, um dynamische Berechnungen zu erstellen. Weitere Informationen finden Sie unter Filterfunktionen.
Finanzfunktionen
Die Finanzfunktionen DAX in werden in Formeln verwendet, die Finanzberechnungen durchführen, z. B. nettoer Barwert und Zinssatz. Diese Funktionen ähneln finanzbezogenen Funktionen, die in Microsoft Excel verwendet werden. Weitere Informationen finden Sie unter Finanzfunktionen.
Informationsfunktionen
Eine Informationsfunktion untersucht die Zelle oder Zeile, die als Argument bereitgestellt wird, und teilt Ihnen mit, ob der Wert mit dem erwarteten Typ übereinstimmt. Beispielsweise gibt die ISERROR-Funktion TRUE zurück, wenn der Wert, auf den Sie verweisen, einen Fehler enthält. Weitere Informationen finden Sie in den Informationsfunktionen.
Logische Funktionen
Logische Funktionen reagieren auf einen Ausdruck, um Informationen zu den Werten im Ausdruck zurückzugeben. Mit der TRUE-Funktion können Sie beispielsweise wissen, ob ein ausdruck, den Sie auswerten, einen TRUE Wert zurückgibt. Weitere Informationen finden Sie unter logische Funktionen.
Mathematische und trigonometrische Funktionen
Die mathematischen Funktionen in sind den mathematischen und trigonometrischen Funktionen von DAX Excel sehr ähnlich. Einige geringfügige Unterschiede bestehen in den numerischen Datentypen, die von DAX Funktionen verwendet werden. Weitere Informationen finden Sie unter Mathematische und Trigfunktionen.
Andere Funktionen
Diese Funktionen führen eindeutige Aktionen aus, die von keiner der Kategorien definiert werden können, zu denen die meisten anderen Funktionen gehören. Weitere Informationen finden Sie unter "Weitere Funktionen".
Beziehungsfunktionen
Mit Beziehungsfunktionen DAX können Sie Werte aus einer anderen verknüpften Tabelle zurückgeben, eine bestimmte Beziehung angeben, die in einem Ausdruck verwendet werden soll, und kreuzfilterungsrichtung angeben. Weitere Informationen finden Sie unter Beziehungsfunktionen.
Statistische Funktionen
Statistische Funktionen berechnen Werte im Zusammenhang mit statistischen Verteilungen und Wahrscheinlichkeiten, z. B. Die Standardabweichung und die Anzahl der Permutationen. Weitere Informationen finden Sie unter Statistische Funktionen.
Textfunktionen
Textfunktionen in DAX Excel sind ihren Gegenstücken in Excel sehr ähnlich. Sie können einen Teil einer Zeichenfolge zurückgeben, nach Text innerhalb einer Zeichenfolge suchen oder Zeichenfolgenwerte verketten. DAX bietet außerdem Funktionen zum Steuern der Formate für Datumsangaben, Uhrzeiten und Zahlen. Weitere Informationen finden Sie unter "Textfunktionen".
Zeitintelligenzfunktionen
Mit den verfügbaren DAX Zeitintelligenzfunktionen können Sie Berechnungen erstellen, die integrierte Kenntnisse zu Kalendern und Datumsangaben verwenden. Mithilfe von Zeit- und Datumsbereichen in Kombination mit Aggregationen oder Berechnungen können Sie aussagekräftige Vergleiche in vergleichbaren Zeiträumen für Verkäufe, Lagerbestände usw. erstellen. Weitere Informationen finden Sie unter Zeitintelligenzfunktionen (DAX).
Funktionen zur Tabellenmanipulation
Diese Funktionen geben eine Tabelle zurück oder bearbeiten vorhandene Tabellen. Sie können mit ADDCOLUMNS beispielsweise berechnete Spalten zu einer angegebenen Tabelle hinzufügen oder eine Zusammenfassungstabelle über eine Menge von Gruppen mit der SUMMARIZECOLUMNS-Funktion zurückgeben. Weitere Informationen finden Sie unter Tabellenbearbeitungsfunktionen.
Benutzerdefinierte Funktionen
DAX Benutzerdefinierte Funktionen (USER-Defined Functions, UDFs) sind ein leistungsfähiges Feature, mit dem Sie wiederverwendbare Logik mit Parametern definieren können, genau wie Funktionen in herkömmlichen Programmiersprachen. Mit UDFs können Sie eine Funktion einmal schreiben und sie für Measures, berechnete Spalten, visuelle Berechnungen und sogar andere UDFs wiederverwenden. Dadurch können Sie Den DAX Code einfacher verwalten, debuggen und freigeben. Weitere Informationen finden Sie unter DAX benutzerdefinierte Funktionen (Vorschau).
Variablen
Mit VAR können Sie Variablen innerhalb eines Ausdrucks erstellen. VAR ist technisch keine Funktion, es ist ein Schlüsselwort, um das Ergebnis eines Ausdrucks als benannte Variable zu speichern. Diese Variable kann dann als Argument an andere Measureausdrücke übergeben werden. 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. Variablen können von jedem skalaren Datentyp sein, einschließlich Tabellen. Die Verwendung von Variablen in Ihren DAX Formeln kann unglaublich leistungsfähig sein.
Datentypen
Sie können Daten aus vielen verschiedenen Datenquellen importieren, die unterschiedliche Datentypen unterstützen. Wenn Sie Daten in ein Modell importieren, werden die Daten in einen der tabellarischen Modelldatentypen konvertiert. Wenn die Modelldaten in einer Berechnung verwendet werden, werden die Daten dann für die Dauer und Ausgabe der Berechnung in einen DAX Datentyp konvertiert. Wenn Sie eine DAX Formel erstellen, bestimmen die in der Formel verwendeten Ausdrücke automatisch den zurückgegebenen Wertdatentyp.
DAX unterstützt die folgenden Datentypen:
| Datentyp im Modell | Datentyp in DAX | BESCHREIBUNG |
|---|---|---|
Whole Number |
Ein 64-Bit (acht-Byte) Ganzzahlwert 1, 2 | Zahlen ohne Dezimalstellen. Ganze Zahlen können positive oder negative Zahlen sein, müssen jedoch 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 64-Bit (acht Byte) reelle Zahl 1, 2 | Reale Zahlen sind Zahlen, die Dezimalstellen enthalten können. Reelle Zahlen decken einen breiten Wertebereich ab: Negative Werte von -1,79E +308 bis -2,23E -308 Null Positive Werte von 2,23E -308 bis 1,79E + 308 Die Anzahl der signifikanten Ziffern ist jedoch auf 17 Dezimalstellen beschränkt. |
Boolean |
Boolescher Wert | Entweder ein True- oder False-Wert. |
Text |
Schnur | Eine Unicode-Zeichendatenzeichenfolge. Dabei kann es sich um Zeichenfolgen, Zahlen oder Datumsangaben handeln, die in einem Textformat dargestellt werden. |
Date |
Datum/Uhrzeit | Datums- und Uhrzeitangaben in einer akzeptierten Datums-/Uhrzeitdarstellung. Gültige Datumsangaben sind alle Datumsangaben nach dem 1. März 1900. |
Currency |
Währung | Der Datentyp "Währung" ermöglicht Werte zwischen -922.337.203.685.477,5808 bis 922.337.203.685.477,5807 mit vier Dezimalstellen mit fester Genauigkeit. |
Variant |
Variante | Wird für Ausdrücke wie z. B. DAX Measures verwendet, die unterschiedliche Datentypen zurückgeben können. Beispielsweise ist eine DAX Maßnahme, die entweder eine ganze Zahl oder eine Zeichenfolge zurückgibt, vom Typ "variant". |
N/A |
Leerzeichen | Ein Leerzeichen ist ein Datentyp in DAX, der SQL-NULL-Werte darstellt und ersetzt. Sie können einen leeren Wert erstellen, indem Sie die Funktion BLANK verwenden, und mit der logischen Funktion ISBLANK auf leere Werte testen. |
Tabellarische Datenmodelle enthalten auch den Datentyp "Tabelle " als Eingabe oder Ausgabe für viele DAX Funktionen. Beispielsweise verwendet die FILTER Funktion eine Tabelle als Eingabe und gibt eine andere Tabelle aus, die nur die Zeilen enthält, die die Filterbedingungen erfüllen. Durch die Kombination von Tabellenfunktionen mit Aggregationsfunktionen können Sie komplexe Berechnungen über dynamisch definierte Datasets durchführen.
Während Datentypen in der Regel automatisch festgelegt werden, ist es wichtig, Datentypen und deren Anwendung, insbesondere auf DAX Formeln, zu verstehen. Fehler in Formeln oder unerwarteten Ergebnissen werden z. B. häufig durch die Verwendung eines bestimmten Operators verursacht, der nicht mit einem in einem Argument angegebenen Datentyp verwendet werden kann. Beispielsweise gibt die Formel = 1 & 2ein Zeichenfolgenergebnis von 12 zurück. Die Formel = "1" + "2"gibt jedoch ein ganzzahliges Ergebnis von 3 zurück.
Hinweis
Berechnungen für Zeichenfolgendatentypen können auf 64 KB beschränkt werden.
Kontext
Kontext ist ein wichtiges Konzept, das beim Erstellen von DAX Formeln zu verstehen ist. Kontext ermöglicht es Ihnen, dynamische Analysen durchzuführen, da sich die Ergebnisse einer Formel ändern, um die aktuelle Zeilen- oder Zellauswahl sowie alle verwandten Daten widerzuspiegeln. Das Verständnis von Kontext und die effektive Verwendung von Kontexten sind für die Erstellung leistungsstarker, dynamischer Analysen und für die Problembehandlung in Formeln von entscheidender Bedeutung.
Formeln in tabellarischen Modellen können je nach anderen Entwurfselementen in einem anderen Kontext ausgewertet werden:
- In einer PivotTable oder einem Bericht angewendete Filter
- Filter, die in einer Formel definiert sind
- Beziehungen, die mithilfe spezieller Funktionen in einer Formel angegeben werden
Es gibt verschiedene Kontexttypen: Zeilenkontext, Abfragekontext und Filterkontext.
Zeilenkontext
Zeilenkontext kann als "aktuelle Zeile" betrachtet werden. Wenn Sie eine Formel in einer berechneten Spalte erstellen, enthält der Zeilenkontext für diese Formel die Werte aus allen Spalten in der aktuellen Zeile. Wenn die Tabelle mit einer anderen Tabelle verknüpft ist, enthält der Inhalt auch alle Werte aus der anderen Tabelle, die mit der aktuellen Zeile verknüpft sind.
Angenommen, Sie erstellen eine berechnete Spalte, = [Freight] + [Tax]die Werte aus zwei Spalten, Fracht und Steuern, aus derselben Tabelle addiert. Diese Formel ruft automatisch nur die Werte aus der aktuellen Zeile in den angegebenen Spalten ab.
Der Zeilenkontext folgt auch allen Beziehungen, die zwischen Tabellen definiert wurden, einschließlich beziehungen, die in einer berechneten Spalte mithilfe DAX von Formeln definiert wurden, um zu bestimmen, welche Zeilen in verknüpften Tabellen der aktuellen Zeile zugeordnet sind.
Die folgende Formel verwendet z. B. die RELATED Funktion, um einen Steuerwert aus einer verknüpften Tabelle abzurufen, basierend auf der Region, an die die Bestellung versandt wurde. Der Steuerwert wird ermittelt, indem der Wert für die Region in der aktuellen Tabelle verwendet wird, die Region in der verknüpften Tabelle nachgeschlagen wird und anschließend der Steuersatz für diese Region aus der verknüpften Tabelle abgerufen wird.
= [Freight] + RELATED('Region'[TaxRate])
Mit dieser Formel wird der Steuersatz für die aktuelle Region aus der Tabelle "Region" abgerufen und dem Wert der Spalte "Fracht" hinzugefügt. In DAX Formeln müssen Sie die spezifische Beziehung, die die Tabellen verbindet, nicht kennen oder angeben.
Mehrere Zeilenkontexte
DAX enthält Funktionen, die Berechnungen über eine Tabelle iterieren. Diese Funktionen können über mehrere aktuelle Zeilen verfügen, die jeweils über einen eigenen Zeilenkontext verfügen. Mit diesen Funktionen können Sie im Wesentlichen Formeln erstellen, die Vorgänge rekursiv über eine innere und äußere Schleife ausführen.
Angenommen, Ihr Modell enthält eine Tabelle "Artikel " und eine Tabelle " Vertrieb ". Benutzer können die gesamte Verkaufstabelle durchlaufen, die voller Transaktionen mit mehreren Produkten ist, und die größte Menge finden, die für jedes Produkt in einer Transaktion bestellt wurde.
Mit DAX Ihnen können Sie eine einzelne Formel erstellen, die den richtigen Wert zurückgibt, und die Ergebnisse werden automatisch aktualisiert, wenn ein Benutzer daten zu den Tabellen hinzufügt.
= MAXX(FILTER(Sales,[ProdKey] = EARLIER([ProdKey])),Sales[OrderQty])
Ein detailliertes Beispiel für diese Formel finden Sie unter EARLIER.
Zusammenfassend speichert die EARLIER Funktion den Zeilenkontext aus dem Vorgang, der dem aktuellen Vorgang vorausging. Zu jeder Zeit speichert die Funktion im Arbeitsspeicher zwei Kontextsätze: ein Kontextsatz stellt die aktuelle Zeile für die innere Schleife der Formel dar, und ein anderer Kontextsatz stellt die aktuelle Zeile für die äußere Schleife der Formel dar. DAX fügt automatisch Werte zwischen den zwei Schleifen ein, sodass Sie komplexe Aggregate erstellen können.
Abfragekontext
Der Abfragekontext bezieht sich auf die Teilmenge der Daten, die implizit für eine Formel abgerufen werden. 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. Die erforderlichen Abfragen werden dann für Modelldaten ausgeführt, um die richtige Teilmenge der Daten abzurufen, die Berechnungen durch die Formel definiert zu machen und dann Werte im Bericht aufzufüllen.
Da sich der Kontext je nach Position der Formel ändert, können sich auch die Ergebnisse der Formel ändern. Angenommen, Sie erstellen eine Formel, die die Werte in der Spalte " Gewinn " der Tabelle " Umsatz " addiert: = SUM('Sales'[Profit]). Wenn Sie diese Formel in einer berechneten Spalte in der Tabelle " Sales " verwenden, sind die Ergebnisse für die Formel für die gesamte Tabelle identisch, da der Abfragekontext für die Formel immer der gesamte Datensatz der Tabelle " Sales " ist. Ergebnisse werden für alle Regionen, alle Produkte, alle Jahre usw. gewinnbringend sein.
Benutzer möchten jedoch in der Regel nicht dasselbe Ergebnis hunderte Mal sehen, sondern stattdessen den Gewinn für ein bestimmtes Jahr, ein bestimmtes Land, ein bestimmtes Produkt oder eine Kombination dieser Ergebnisse erhalten und dann eine Gesamtsumme erhalten.
In einem Bericht wird der Kontext durch Filtern, Hinzufügen oder Entfernen von Feldern und Verwenden von Datenschnitten geändert. Bei jeder dieser Änderungen ändert sich der Abfragekontext, in dem das Measure ausgewertet wird. Daher wird dieselbe Formel, die in einem Measure verwendet wird, in einem anderen Abfragekontext für jede Zelle ausgewertet.
Filterkontext
Der Filterkontext ist die Menge der in jeder Spalte zulässigen Werte oder der Werte, die aus einer verknüpften Tabelle abgerufen werden. Filter können auf die Spalte im Desktop oder auf der Präsentationsebene (Berichte und PivotTables) angewendet werden. Filter können auch explizit durch Filterausdrücke innerhalb der Formel definiert werden.
Filterkontext wird hinzugefügt, wenn Sie Filtereinschränkungen für die in einer Spalte oder Tabelle zulässigen Wertegruppen mithilfe von Argumenten für eine Formel angeben. Filterkontext wird über anderen Kontexten angewendet, z. B. Zeilenkontext oder Abfragekontext.
In tabellarischen Modellen gibt es viele Möglichkeiten zum Erstellen des Filterkontexts. Im Kontext von Clients, die das Modell nutzen können, z. B. Power BI-Berichte, können Benutzer on-the-fly Filter erstellen, indem sie Slicer oder Berichtsfilter zu den Zeilen- und Spaltenüberschriften hinzufügen. Sie können auch Filterausdrücke direkt in der Formel angeben, verwandte Werte angeben, Tabellen filtern, die als Eingaben verwendet werden, oder um den Kontext für die Werte, die in Berechnungen verwendet werden, dynamisch abzurufen. Sie können auch die Filter für bestimmte Spalten vollständig löschen oder selektiv löschen. Dies ist sehr nützlich beim Erstellen von Formeln, die Gesamtsummen berechnen.
Weitere Informationen zum Erstellen von Filtern in Formeln finden Sie in der FILTER Funktion (DAX). Ein Beispiel dafür, wie Filter gelöscht werden können, um Gesamtsummen zu erstellen, finden Sie in der ALL Funktion (DAX).
Beispiele zum selektiven Löschen und Anwenden von Filtern in 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 anschließend getestet, um sicherzustellen, dass die Namen der in der Formel enthaltenen Spalten und Tabellen im aktuellen Kontext zu finden sind. Wenn in der Formel angegebene Spalte oder Tabelle nicht gefunden werden kann, wird ein Fehler zurückgegeben.
Der Kontext während der Überprüfung (und Neuberechnungsvorgänge) wird wie in den vorherigen Abschnitten beschrieben, indem die verfügbaren Tabellen im Modell, alle Beziehungen zwischen den Tabellen und alle angewendeten Filter verwendet werden.
Wenn Sie beispielsweise nur einige Daten in eine neue Tabelle importiert haben und sie nicht mit anderen Tabellen verknüpft ist (und Sie keine Filter angewendet haben), ist der aktuelle Kontext der gesamte Satz von Spalten in der Tabelle. Wenn die Tabelle durch Beziehungen zu anderen Tabellen verknüpft ist, enthält der aktuelle Kontext die verknüpften Tabellen. Wenn Sie eine Spalte aus der Tabelle einem Bericht hinzufügen, der Slicer und möglicherweise einige Berichtsfilter enthält, ist der Kontext für die Formel die Teilmenge der Daten in jeder Zelle des Berichts.
Kontext ist ein leistungsstarkes Konzept, das auch die Problembehandlung von Formeln erschweren kann. Es wird empfohlen, mit einfachen Formeln und Beziehungen zu beginnen, um zu sehen, wie der Kontext funktioniert. Im folgenden Abschnitt finden Sie einige Beispiele dafür, wie Formeln unterschiedliche Kontexttypen verwenden, um Ergebnisse dynamisch zurückzugeben.
Betriebspersonal
In der DAX Sprache werden vier verschiedene Berechnungsoperatoren in Formeln verwendet:
- Vergleichsoperatoren zum Vergleichen von Werten und Zurückgeben eines logischen
TRUE"FALSE" Werts. - Arithmetische Operatoren zum Ausführen arithmetischer Berechnungen, die numerische Werte zurückgeben.
- Textverkettungsoperatoren, um zwei oder mehr Textzeichenfolgen zu verbinden.
- Logische Operatoren, die zwei oder mehr Ausdrücke kombinieren, um ein einzelnes Ergebnis zurückzugeben.
Ausführliche Informationen zu Operatoren, die in DAX Formeln verwendet werden, finden Sie unter DAX Operatoren.
Arbeiten mit Tabellen und Spalten
Tabellen in Tabellendatenmodellen sehen wie Excel-Tabellen aus, unterscheiden sich jedoch in der Art und Weise, wie sie mit Daten und formeln arbeiten:
- Formeln funktionieren nur mit Tabellen und Spalten, nicht mit einzelnen Zellen, Bereichsbezügen oder Arrays.
- Formeln können Beziehungen verwenden, um Werte aus verwandten Tabellen abzurufen. Die abgerufenen Werte beziehen sich immer auf den aktuellen Zeilenwert.
- Sie können keine unregelmäßigen oder "ausgefransten" Daten haben, wie Sie es in einem Excel-Arbeitsblatt tun könnten. Jede Zeile in einer Tabelle muss dieselbe Anzahl von Spalten enthalten. Sie können jedoch leere Werte in einigen Spalten haben. Excel-Datentabellen und Tabellen mit Tabellenmodelldaten sind nicht austauschbar.
- Da für jede Spalte ein Datentyp festgelegt ist, muss jeder Wert in dieser Spalte denselben Typ aufweisen.
Verweisen auf Tabellen und Spalten in Formeln
Sie können auf eine beliebige Tabelle und Spalte verweisen, indem Sie dessen Namen verwenden. Zum Beispiel veranschaulicht die folgende Formel, wie man auf Spalten aus zwei Tabellen mithilfe des vollqualifizierten Namens verweist:
= SUM('New Sales'[Amount]) + SUM('Past Sales'[Amount])
Wenn eine Formel ausgewertet wird, sucht der Modell-Designer zunächst nach allgemeiner Syntax und überprüft dann die Namen von Spalten und Tabellen, die Sie für mögliche Spalten und Tabellen im aktuellen Kontext bereitstellen. Wenn der Name mehrdeutig ist oder die Spalte oder Tabelle nicht gefunden werden kann, erhalten Sie einen Fehler in der Formel (eine #ERROR -Zeichenfolge anstelle eines Datenwerts in Zellen, in denen der Fehler auftritt). Weitere Informationen zu Benennungsanforderungen für Tabellen, Spalten und andere Objekte finden Sie unter Benennungsanforderungen in derDAX Syntax.
Tabellenbeziehungen
Durch das Erstellen von Beziehungen zwischen Tabellen erhalten Sie die Möglichkeit, verwandte Werte in anderen Tabellen in Berechnungen zu verwenden. Sie können z. B. eine berechnete Spalte verwenden, um alle Versanddatensätze im Zusammenhang mit dem aktuellen Wiederverkäufer zu ermitteln und dann die Versandkosten für jeden zu berechnen. In vielen Fällen ist jedoch möglicherweise keine Beziehung erforderlich. Sie können die LOOKUPVALUE Funktion in einer Formel verwenden, um den Wert in result_columnName für die Zeile zurückzugeben, die kriterien erfüllt, die in den Argumenten search_column und search_value angegeben sind.
Viele DAX Funktionen erfordern, dass eine Beziehung zwischen den Tabellen oder zwischen mehreren Tabellen besteht, um die Spalten zu finden, auf die Sie verwiesen haben, und Ergebnisse zurückzugeben, die sinnvoll sind. Andere Funktionen versuchen, die Beziehung zu identifizieren; Für optimale Ergebnisse sollten Sie jedoch immer eine Beziehung erstellen, wenn möglich. Tabellarische Datenmodelle unterstützen mehrere Beziehungen zwischen Tabellen. Um Verwirrung oder falsche Ergebnisse zu vermeiden, wird jeweils nur eine Beziehung als aktive Beziehung festgelegt, Sie können die aktive Beziehung jedoch bei Bedarf ändern, um unterschiedliche Verbindungen in den Daten in Berechnungen zu durchlaufen. USERELATIONSHIP kann verwendet werden, um eine oder mehrere Beziehungen anzugeben, die in einer bestimmten Berechnung verwendet werden sollen.
Es ist wichtig, diese Formelentwurfsregeln bei der Verwendung von Beziehungen zu beachten:
Wenn Tabellen durch eine Beziehung verbunden sind, müssen Sie sicherstellen, dass die beiden Spalten, die als Schlüssel verwendet werden, Werte aufweisen, die übereinstimmen. Referenzielle Integrität wird nicht erzwungen, daher ist es möglich, nicht übereinstimmende Werte in einer Schlüsselspalte zu haben und dennoch eine Beziehung zu erstellen. In diesem Fall sollten Sie beachten, dass leere Werte oder nicht übereinstimmende Werte sich auf die Ergebnisse von Formeln auswirken können.
Wenn Sie Tabellen in Ihrem Modell mithilfe von Beziehungen verknüpfen, vergrößern Sie den Bereich oder den Kontext, in dem Die Formeln ausgewertet werden. Änderungen im Kontext, die sich aus dem Hinzufügen neuer Tabellen, neuer Beziehungen oder aus Änderungen in der aktiven Beziehung ergeben, können dazu führen, dass sich ihre Ergebnisse auf eine Weise ändern, die Sie möglicherweise nicht erwarten. Weitere Informationen finden Sie im Kontext in diesem Artikel.
Verarbeiten und Aktualisieren
Prozess - und Neuberechnung sind zwei separate, aber verwandte Vorgänge. Sie sollten diese Konzepte gründlich verstehen, wenn Sie ein Modell entwerfen, das komplexe Formeln, große Datenmengen oder Daten enthält, die aus externen Datenquellen abgerufen werden.
Der Prozess (Aktualisierung) aktualisiert die Daten in einem Modell mit neuen Daten aus einer externen Datenquelle.
Neuberechnung ist der Prozess der Aktualisierung der Ergebnisse von Formeln, um änderungen an den Formeln selbst widerzuspiegeln und Änderungen an den zugrunde liegenden Daten widerzuspiegeln. Die Neuberechnung kann sich auf folgende Weise auf die Leistung auswirken:
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 – Prozess Vollständig, Prozess Daten oder Prozess Neuberechnung. Das Ergebnis der Formel muss immer für die gesamte Spalte neu berechnet werden, wenn Sie die Formel ändern.
Die durch Maße berechneten Werte werden dynamisch ausgewertet, wenn ein Benutzer ein Maß zu einer PivotTable hinzufügt oder einen Bericht öffnet; wenn der Benutzer den Kontext ändert, ändern sich die von der Maß zurückgegebenen Werte. Die Ergebnisse des Measures spiegeln immer den neuesten Werte im speicherinternen Cache wider.
Die Verarbeitung und Neuberechnung wirkt sich nicht auf Sicherheitsformeln auf Zeilenebene aus, es sei denn, das Ergebnis einer Neuberechnung gibt einen anderen Wert zurück, wodurch die Zeile durch Rollenmember abfragbar oder nicht abfragbar wird.
Aktualisierungen
DAX wird ständig verbessert. Neue und aktualisierte Funktionen werden mit dem nächsten verfügbaren Update veröffentlicht, das in der Regel monatlich ist. Dienste werden zuerst aktualisiert, gefolgt von installierten Anwendungen wie Power BI Desktop, Excel, SQL Server Management Studio (SSMS) und Analysis Services-Projekterweiterung für Visual Studio (SSDT). SQL Server Analysis Services wird mit dem nächsten kumulativen Update aktualisiert. Neue Funktionen werden zuerst in der DAX Funktionsreferenz angekündigt und zeitgleich mit Power BI Desktop-Updates beschrieben.
Nicht alle Funktionen werden in früheren Versionen von SQL Server Analysis Services und Excel unterstützt.
Problembehandlung
Wenn beim Definieren einer Formel ein Fehler angezeigt wird, kann die Formel entweder einen syntaktischen Fehler, semantischen Fehler oder Berechnungsfehler enthalten.
Syntaktische Fehler sind am einfachsten zu beheben. Sie umfassen in der Regel eine fehlende Klammer oder ein Fehlendes Komma.
Der andere Fehlertyp tritt auf, wenn die Syntax korrekt ist, aber der Wert oder eine Spalte, auf die verwiesen wird, im Kontext der Formel nicht sinnvoll ist. Solche Semantik- und Berechnungsfehler können durch eines der folgenden Probleme verursacht werden:
- Die Formel bezieht sich auf eine nicht vorhandene Spalte, Tabelle oder Funktion.
- Die Formel scheint korrekt zu sein, aber wenn das Datenmodul die Daten abruft, findet sie einen Typkonflikt und löst einen Fehler aus.
- Die Formel übergibt eine falsche Zahl oder einen Falschen Typ von Argumenten an eine Funktion.
- Die Formel bezieht sich auf eine andere Spalte, die einen Fehler aufweist, und daher sind ihre Werte ungültig.
- Die Formel bezieht sich auf eine Spalte, die nicht verarbeitet wurde, d. h. sie enthält Metadaten, aber keine tatsächlichen Daten, die für Berechnungen verwendet werden sollen.
In den ersten vier Fällen kennzeichnet DAX die gesamte Spalte, die die ungültige Formel enthält. Im letzten Fall graut DAX die Spalte aus, um anzugeben, dass sich die Spalte in einem nicht verarbeiteten Zustand befindet.
Apps und Tools
Power BI Desktop
Power BI Desktop ist eine kostenlose Datenmodellierungs- und Berichterstellungsanwendung. Der Modelldesigner 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 für Analysis Services-Projekte (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 wesentliches Tool für die Arbeit mit Analysis Services. SSMS enthält einen DAX Abfrage-Editor zum Abfragen von tabellarischen und multidimensionalen Modellen.
DAX Studio
DAX Studio ist 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.
Tabellarischer Editor
Der tabellarische Editor ist ein Open-Source-Tool, das eine intuitive, hierarchische Ansicht jedes Objekts in Tabellenmodellmetadaten bereitstellt. Der Tabellarische Editor enthält einen DAX Editor mit Syntaxhervorhebung, der eine einfache Möglichkeit zum Bearbeiten von Maßeinheiten, berechneten Spalten und berechneten Tabellenausdrücken bietet.
Lernressourcen
Wenn Sie DAX lernen, ist es am besten, die Anwendung zu nutzen, mit der Sie Ihre Datenmodelle erstellen werden. Analysis Services, Power BI Desktop und Power Pivot in Excel bieten alle Artikel und Tutorials mit Lektionen zum Erstellen von Kennzahlen, berechneten Spalten und Zeilenfiltern mithilfe von DAX. Hier sind einige zusätzlichen Ressourcen:
Verwenden Sie DAX im Power BI Desktop-Lernpfad.
Das Definitive Guide zu DAX von Alberto Ferrari und Marco Russo (Microsoft Press). Dieses umfangreiche Handbuch bietet nun in seiner zweiten Ausgabe Grundlagen für innovative Hochleistungstechniken für Die ersten Datenmodellierer und BI-Experten.
Gemeinschaft
DAX hat eine lebendige Community, die immer bereit ist, ihre Expertise zu teilen. Microsoft Power BI Community verfügt über ein spezielles Diskussionsforum nur für DAXBefehle DAX und Tipps.