Übersicht über Data Analysis Expressions (DAX)

Die Programmiersprache Data Analysis Expressions (DAX) ist eine Formelsprache, die es Benutzern ermöglicht, benutzerdefinierte Berechnungen in PowerPivot-Tabellen (berechnete Spalten) und Excel PivotTables (Measures) zu definieren. DAX enthält einige der in Excel-Formeln verwendeten Funktionen sowie zusätzliche Funktionen, die für die Verwendung mit relationalen Daten und für dynamische Aggregationen entwickelt wurden.

In diesem Abschnitt werden die folgenden Konzepte erläutert:

  • Verwendungsbereich für DAX-Formeln

  • Erstellen von DAX-Formeln

  • Mit DAX ausführbare Vorgänge

Übersicht über die DAX-Formeln

DAX-Formeln sind Excel-Formeln sehr ähnlich. Zum Erstellen geben Sie ein Gleichheitszeichen gefolgt von einem Funktionsnamen oder Ausdruck sowie den erforderlichen Werten oder Argumenten ein. Wie Excel stellt DAX eine Vielzahl von Funktionen bereit, die Ihnen ermöglichen, mit Zeichenfolgen zu arbeiten, Berechnungen mit Datums- und Uhrzeitangaben durchzuführen und bedingte Werte zu erstellen.

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 PowerPivot Funktionen bereit, mit denen Sie den aktuellen Zeilenwert oder einen verknüpften Wert für Berechnungen verwenden können, die sich je nach Kontext unterscheiden.

  • DAX beinhaltet einen Funktionstyp, der statt eines einzelnen Werts eine Tabelle als Ergebnis zurückgibt. Diese Funktionen können verwendet werden, um die Eingabe für andere Funktionen bereitzustellen und so Werte für ganze Tabellen oder Spalten zu berechnen.

  • Einige DAX-Funktionen stellen Zeitintelligenz bereit, sodass Sie Berechnungen mit aussagekräftigen Datumsbereichen erstellen und Ergebnisse über parallele Zeiträume vergleichen können.

Verwendungsbereich für Formeln

Sie können DAX-Formeln in PowerPivot-Tabellen oder in PivotTables in Excel verwenden:

  • Sie können Formeln in berechneten Spalten verwenden, indem Sie eine Spalte hinzufügen und dann einen Ausdruck in die Bearbeitungsleiste eingeben. Sie erstellen diese Formeln im PowerPivot-Fenster. Weitere Informationen finden Sie unter Berechnete Spalten.

  • Sie können Formeln in Measures verwenden. Sie erstellen diese Formeln in Excel, indem Sie in einer vorhandenen PowerPivot-PivotTable oder einem vorhandenen PivotChart auf Measure hinzufügen klicken. Weitere Informationen finden Sie unter Measures in PowerPivot.

Dieselbe Formel kann sich unterschiedlich verhalten, je nachdem, ob die Formel in einer berechneten Spalte oder in einem Measure verwendet wird. In einer berechneten Spalte wird die Formel in der gesamten Tabelle immer auf alle Zeilen in der Spalte angewendet. Abhängig vom Zeilenkontext kann sich der Wert ändern. In einem Measure hängt die Berechnung der Ergebnisse jedoch stark vom Kontext ab. Dies bedeutet, dass sich der Entwurf der PivotTable und die Auswahl der Zeilen- und Spaltenüberschriften auf die in Berechnungen verwendeten Werte auswirken. Weitere Informationen finden Sie unter Kontext in DAX-Formeln.

Erstellen von Formeln mit der Bearbeitungsleiste

PowerPivot stellt wie Excel eine Bearbeitungsleiste und eine AutoVervollständigen-Funktion bereit, um das Erstellen und Bearbeiten von Formeln zu vereinfachen und Eingabe- und Syntaxfehler zu minimieren.

So geben Sie den Namen einer Tabelle ein   Beginnen Sie mit der Eingabe des Tabellennamens. Die AutoVervollständigen-Formel stellt eine Dropdownliste bereit, die gültige Namen enthält, die mit den entsprechenden Buchstaben beginnen.

So geben Sie den Namen einer Spalte ein   Geben Sie eine Klammer ein, und wählen Sie anschließend die Spalte aus der Liste der Spalten in der aktuellen Tabelle aus. Geben Sie für eine Spalte aus einer anderen Tabelle die ersten Buchstaben des Tabellennamens ein, und wählen Sie anschließend die Spalte aus der AutoVervollständigen-Dropdownliste aus.

Eine exemplarische Vorgehensweise zum Erstellen von Formeln finden Sie unter Erstellen von Formeln für Berechnungen.

Tipps zum Verwenden von AutoVervollständigen

  • Sie können AutoVervollständigen für Formeln auch mitten in einer vorhandenen Formel mit geschachtelten Funktionen verwenden. Anhand des Textes unmittelbar vor der Einfügemarke werden Werte in der Dropdownliste angezeigt. Der Text nach der Einfügemarke bleibt unverändert.

  • Definierte Namen, die Sie für Konstanten erstellen, werden nicht in der AutoVervollständigen-Dropdownliste angezeigt, Sie können sie jedoch eingeben.

  • In PowerPivot werden in Funktionen keine schließenden Klammern hinzugefügt oder Klammern automatisch abgeglichen. 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 PowerPivot-Funktionen wurden zur ausschließlichen Verwendung als geschachtelte Funktionen entwickelt. Diese Funktionen geben eine Tabelle zurück, die nicht direkt als Ergebnis in der PowerPivot-Arbeitsmappe 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.

HinweisHinweis

Für die Schachtelung von Funktionen innerhalb von Measures gelten einige Einschränkungen, um sicherzustellen, dass die Leistung durch die vielen Berechnungen, die die Abhängigkeiten zwischen Spalten erforderlich machen, nicht beeinträchtigt wird.

Vergleich von DAX-Funktionen und Excel-Funktionen

Die DAX-Funktionsbibliothek basiert auf der Excel-Funktionsbibliothek, die Bibliotheken weisen jedoch viele Unterschiede auf. Dieser Abschnitt enthält einen Überblick über die Unterschiede und die Ähnlichkeiten zwischen Excel-Funktionen und DAX-Funktionen.

  • Viele DAX-Funktionen haben denselben Namen und das gleiche allgemeine Verhalten wie Excel-Funktionen, wurden jedoch geändert, um andere Eingabetypen zu unterstützen, und geben in einigen Fällen einen anderen Datentyp zurück. In der Regel können Sie DAX-Formeln nicht in Excel-Arbeitsmappen und Excel-Formeln nicht in PowerPivot-Arbeitsmappen verwenden, ohne bestimmte Änderungen vorzunehmen.

  • DAX-Funktionen akzeptieren keine Zellbereiche oder Bereiche als Verweise. Stattdessen akzeptieren DAX-Funktionen Spalten oder Tabellen als Verweis.

  • Datums- und Uhrzeitfunktionen geben bei DAX einen datetime-Datentyp zurück. Im Gegensatz dazu geben Datums- und Uhrzeitfunktionen bei Excel eine ganze Zahl zurück, die ein Datum als serielle Zahl darstellt.

  • Viele der neuen DAX-Funktionen geben entweder eine Tabelle mit Werten zurück oder führen Berechnungen auf Grundlage einer Tabelle mit Werten aus. Im Gegensatz dazu verfügt Excel über keine Funktionen, die eine Tabelle zurückgeben, obwohl einige Funktionen Arrays unterstützen. Der einfache Verweis auf vollständige Tabellen und Spalten ist eine neue Funktion in PowerPivot.

  • DAX stellt neue Suchfunktionen bereit, die dem Array und den Vektorsuchfunktionen in Excel ähneln. Die DAX-Funktionen erfordern jedoch, dass eine Beziehung zwischen den Tabellen festgelegt wird.

  • Der variant-Datentyp aus Excel wird von DAX nicht unterstützt. Für die Daten in einer Spalte wird immer derselbe Datentyp erwartet. Wenn die Daten nicht vom gleichen Typ sind, wird in DAX die gesamte Spalte in den Datentyp geändert, der am besten zu allen Werten passt.

Zurück zum Anfang

DAX-Datentypen

Daten können in ein PowerPivot-Arbeitsblatt aus vielen unterschiedlichen Datenquellen importiert werden, die unterschiedliche Datentypen unterstützen. Wenn Sie die Daten in eine Arbeitsmappe importieren bzw. laden und dann in Berechnungen oder PivotTables verwenden, werden die Daten in einen der PowerPivot-Datentypen konvertiert. Eine Liste der Datentypen finden Sie unter In PowerPivot-Arbeitsmappen unterstützte Datentypen.

Der Tabellendatentyp ist ein neuer Datentyp in DAX, der als Eingabe oder Ausgabe für viele neue Funktionen verwendet wird. 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. Weitere Informationen finden Sie unter Aggregationen in Formeln.

Zurück zum Anfang

Formeln und das relationale Modell

Das PowerPivot-Fenster ist ein Bereich, in dem Sie mit mehreren Datentabellen arbeiten und die Tabellen in einem relationalen Modell verbinden können. Innerhalb dieses Modells werden Tabellen über Beziehungen miteinander verknüpft, die Ihnen ermöglichen, Korrelationen mit Spalten in anderen Tabellen zu erstellen, um interessantere Berechnungen durchführen zu können. Sie können beispielsweise Formeln erstellen, die Werte für eine verknüpfte Tabelle addieren, und diesen Wert dann in einer einzelnen Zelle speichern. Außerdem können Sie Filter auf Tabellen und Spalten anwenden, um die Zeilen aus der verknüpften Tabelle zu steuern. Weitere Informationen finden Sie unter Übersicht über Beziehungen.

Da Sie Tabellen mit Beziehungen verknüpfen können, können PivotTables auch Daten aus mehreren Spalten enthalten, die aus verschiedenen Tabellen stammen.

Da Formeln jedoch mit ganzen Tabellen und Spalten arbeiten können, müssen die Berechnungen anders entworfen werden als in Excel.

  • Im Allgemeinen wird eine DAX-Formel in einer Spalte immer auf den ganzen Satz von Werten in der Spalte angewendet (nie auf nur ein paar Zeilen oder Zellen).

  • Tabellen in PowerPivot müssen immer die gleiche Anzahl von Spalten in jeder Zeile enthalten, und alle Zeilen in einer Spalte müssen den gleichen Datentyp enthalten.

  • Wenn Tabellen durch eine Beziehung verbunden werden, muss sichergestellt werden, dass die Werte der beiden als Schlüssel verwendeten Spalten weitestgehend übereinstimmen. Da von PowerPivot keine referenzielle Integrität erzwungen wird, kann auch bei nicht übereinstimmenden Werten in einer Schlüsselspalte eine Beziehung erstellt werden. Das Vorhandensein leerer oder nicht übereinstimmender Werte kann sich jedoch auf die Ergebnisse von Formeln und die Darstellung von PivotTables auswirken. Weitere Informationen finden Sie unter Beziehungen und Suchvorgänge in Formeln.

  • Wenn Sie Tabellen in der Arbeitsmappe mithilfe von Beziehungen verknüpfen, vergrößern Sie den Bereich oder Kontext, in dem die Formeln ausgewertet werden. Beispielsweise können sich alle Filter oder Spalten- und Zeilenüberschriften in der PivotTable auf die Formeln in einer PivotTable auswirken. Sie können Formeln schreiben, mit denen der Kontext bearbeitet wird, der Kontext kann jedoch auch bewirken, dass die Ergebnisse auf nicht vorhersehbare Weise geändert werden. Weitere Informationen finden Sie unter Kontext in DAX-Formeln.

Zurück zum Anfang

Berechnete Spalten und Measures

Formeln in PowerPivot können entweder in berechneten Spalten oder in Measures erstellt werden.

Berechnete Spalten

Eine berechnete Spalte ist eine Spalte, die Sie einer vorhandenen PowerPivot-Tabelle hinzufügen. Anstatt Werte in die Spalte einzufügen oder zu importieren, erstellen Sie eine DAX-Formel, mit der die Spaltenwerte definiert werden. Wenn Sie eine PowerPivot-Tabelle in eine PivotTable (oder PivotChart) implementieren, kann die berechnete Spalte wie alle anderen Datenspalten verwendet werden.

Die Formeln in berechneten Spalten sind den in Excel verwendeten Formeln sehr ähnlich. Anders als in Excel können Sie jedoch für verschiedene Zeilen einer Tabelle keine unterschiedlichen Formeln erstellen. Stattdessen wird die DAX-Formel automatisch auf die ganze Spalte angewendet.

Enthält eine Spalte eine Formel, wird für jede Zeile der entsprechende Wert berechnet. Die Ergebnisse werden unmittelbar nach der Erstellung der Formel für die Spalte berechnet. Spaltenwerte werden nur neu berechnet, wenn die zugrunde liegenden Daten aktualisiert werden, oder wenn die manuelle Neuberechnung verwendet wird.

Sie können berechnete Spalten erstellen, die auf Measures und anderen berechneten Spalten basieren. Verwenden Sie jedoch nicht denselben Namen für eine berechnete Spalte und ein Measure, da dies zu verwirrenden Ergebnissen führen kann. Bei Bezugnahme auf eine Spalte ist es am besten, einen vollqualifizierten Spaltenverweis zu verwenden, um ein versehentliches Aufrufen eines Measures zu verhindern.

Measures

Ein Measure ist eine Formel, die speziell zur Verwendung in einer PivotTable (oder PivotChart) erstellt wird, in der PowerPivot-Daten verwendet werden. Measures können auf Standardaggregationsfunktionen basieren, z. B. COUNT oder SUM, oder Sie können mit DAX eigene Formeln definieren. Ein Measure wird im Bereich Werte einer PivotTable verwendet. Wenn Sie berechnete Ergebnisse in einem anderen Bereich einer PivotTable einfügen möchten, verwenden Sie stattdessen eine berechnete Spalte.

Zum Erstellen eines Measures müssen Sie der PowerPivot-Arbeitsmappe zuerst eine PivotTable oder ein PivotChart hinzufügen. Wenn Sie eine Formel für ein Measure definieren, wird diese erst angewendet, wenn Sie das Measure in eine PivotTable einfügen. Wenn Sie das Measure hinzufügen, wird die Formel für jede Zelle im Bereich Werte der PivotTable ausgewertet. Da für jede Kombination von Zeilen- und Spaltenüberschriften ein Ergebnis erstellt wird, kann das Ergebnis für das Measure in jeder Zelle anders sein.

Die Definition des erstellten Measures wird in der Quelldatentabelle gespeichert. Sie wird im PowerPivot-Feldliste angezeigt und steht allen Benutzern der Arbeitsmappe zur Verfügung.

Zurück zum Anfang

Aktualisieren der Ergebnisse von Formeln

Datenaktualisierung und Neuberechnung sind zwei getrennte, jedoch miteinander verwandte Vorgänge, die Sie verstehen sollten, wenn Sie ein Datenmodell mit komplexen Formeln, großen Datenmengen oder aus externen Datenquellen abgerufenen Daten erstellen.

Datenaktualisierung ist der Prozess, bei dem die Daten in der Arbeitsmappe mit neuen Daten aus einer externen Datenquelle aktualisiert werden. Daten können manuell in von Ihnen angegebenen Intervallen aktualisiert werden. Wenn Sie die Arbeitsmappe auf einer SharePoint-Website veröffentlicht haben, können Sie auch eine automatische Aktualisierung von externen Quellen planen.

Neuberechnung ist der Prozess, bei der die Ergebnisse von Formeln und die berechneten Spalten in der Arbeitsmappe aktualisiert werden, um Änderungen an den Formeln sowie an den zugrunde liegenden Daten widerzuspiegeln. Neuberechnung kann die Leistung in folgender Weise beeinträchtigen:

  • Für eine berechnete Spalte muss das Ergebnis der Formel immer für die ganze Spalte neu berechnet werden, wenn Sie die Formel ändern.

  • Für ein Measure werden die Ergebnisse einer Formel jedoch erst berechnet, wenn das Measure in den Kontext von PivotTable oder PivotChart eingefügt wird. Die Formel wird auch neu berechnet, wenn Sie eine beliebige Zeilen- oder Spaltenüberschrift ändern, die sich auf das Filtern von Daten auswirkt, oder wenn Sie die PivotTable manuell aktualisieren.

Weitere Informationen finden Sie in den folgenden Hilfethemen:

Zurück zum Anfang

Kompatibilität mit Analysis Services-Tabellenmodellen und DirectQuery-Modus

Normalerweise sind in PowerPivot erstellte DAX-Formeln vollständig kompatibel mit Analysis Services-Tabellenmodellen. Wenn Sie das PowerPivot-Modell zu einer Analysis Services-Instanz migrieren, die im VertiPaq-Modus ausgeführt wird, und das Modell im DirectQuery-Modus bereitstellen, gibt es jedoch einige Beschränkungen.

  • Von einigen DAX-Formeln können unterschiedliche Ergebnisse zurückgegeben werden, wenn Sie das Modell im DirectQuery-Modus bereitstellen.

  • Einige Formeln können Überprüfungsfehler verursachen, wenn Sie das Modell im DirectQuery-Modus bereitstellen, weil die Formel eine DAX-Funktion enthält, die für eine relationale Datenquelle nicht unterstützt wird.

Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?LinkId=219172.

Siehe auch

Konzepte

Hinzufügen von Berechnungen zu Berichten, Diagrammen und PivotTables

In PowerPivot-Arbeitsmappen unterstützte Datentypen

Übersicht über Data Analysis Expressions (DAX)

Andere Ressourcen

DAX-Referenz (Data Analysis Expressions)

Vorbereiten von Daten zur Analyse in PowerPivot

Hinzufügen und Verwalten von Daten in PowerPivot