Data Analysis Expressions (DAX) in Power Pivot

Data Analysis Expressions (DAX) klingt zunächst ein wenig einschüchternd, aber lassen Sie sich von dem Namen nicht entmutigen. Die Grundlagen von DAX sind ziemlich einfach zu verstehen. Das Wichtige zuerst: DAX ist KEINE Programmiersprache. DAX ist eine Formelsprache. Sie können DAX verwenden, um benutzerdefinierte Berechnungen für berechnete Spalten und Measures (auch als berechnete Felder bekannt) zu definieren. DAX enthält einige der Funktionen, die in Excel-Formeln verwendet werden, sowie zusätzliche Funktionen, die für die Arbeit mit relationalen Daten und die Erstellung von dynamischen Aggregationen entwickelt wurden.

Grundlegendes zu 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:

  • Zum Anpassen von Berechnungen auf Zeilenbasis stellt DAX 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 Eingaben für andere Funktionen bereitzustellen.

  • Zeitintelligenzfunktionen in DAX ermöglichen Berechnungen mithilfe von Datumsbereichen, und die Ergebnisse lassen sich über parallele Zeiträume vergleichen.

Verwendungsbereiche für DAX-Formeln

Formeln können in Power Pivot entweder in berechneten Spalten oder in berechneten Feldern erstellt werden.

Berechnete Spalten

Eine berechnete Spalte ist eine Spalte, die Sie einer vorhandenen Power Pivot-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 die Power Pivot-Tabelle in eine PivotTable (oder ein PivotChart) einfügen, kann die berechnete Spalte wie alle anderen Datenspalten verwendet werden.

Die Formeln in berechneten Spalten sind den Formeln ähnlich, die Sie in ihrer Excel. Im Excel können Sie jedoch keine andere Formel für verschiedene Zeilen in einer Tabelle erstellen. stattdessen wird die DAX-Formel automatisch auf die gesamte 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. Vermeiden Sie jedoch die Verwendung desselben Namens für eine berechnete Spalte und ein Measure, da dies zu verwirrenden Ergebnissen führen kann. Wenn Sie sich auf eine Spalte beziehen, ist es am besten, einen vollqualifizierten Spaltenverweis zu verwenden, um ein versehentliches Aufrufen eines Measures zu vermeiden.

Ausführlichere Informationen finden Sie unter Berechnete Spalten in Power Pivot.

Kennzahlen

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

Wenn Sie eine Formel für ein explizites Measure definieren, geschieht nichts, bis Sie das Measure zu einer PivotTable hinzufügen. Wenn Sie das Measure hinzufügen, wird die Formel für jede Zelle im Wertebereich 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 unterschiedlich sein.

Die Definition des von Ihnen erstellten Measure wird mit der Quelldatentabelle gespeichert. Es wird in der PivotTable-Feldliste angezeigt und steht allen Benutzern der Arbeitsmappe zur Verfügung.

Ausführliche Informationen dazu finden Sie unter Measures in Power Pivot.

Erstellen von Formeln mit der Bearbeitungsleiste

Power Pivot verfügt genauso wie Excel über eine Bearbeitungsleiste und eine AutoVervollständigen-Funktion, 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 eckige 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.

Weitere Details und eine exemplarische Vorgehensweise zum Erstellen von Formeln finden Sie unter Erstellen von Formeln für Berechnungen in Power Pivot.

Tipps zum Verwenden von AutoVervollständigen

Sie können AutoVervollständigung für Formeln in der Mitte einer vorhandenen Formel mit geschachtelten Funktionen verwenden. Der Text vor der Einfügemarke wird zum Anzeigen von Werten in der Dropdownliste verwendet, und der gesamte Text hinter 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.

Power Pivot wird keine schließende Klammer für Funktionen hinzugefügt oder Klammern automatisch angepasst. Stellen Sie sicher, dass die Syntax der einzelnen Funktionen korrekt ist, oder Sie können die Formel nicht speichern oder verwenden. 

Verwenden mehrerer Funktionen in einer Formel

Sie können Funktionen schachteln, d. h., Sie verwenden die Ergebnisse einer Funktion als Argument einer anderen Funktion. Sie können Funktionen in berechneten Spalten auf bis zu 64 Ebenen verschachteln. Schachtelung kann jedoch das Erstellen von Formeln oder die Problembehandlung erschweren.

Viele DAX-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 bereitgestellt werden sollte. Die Funktionen SUMX, AVERAGEX und MINX erfordern beispielsweise alle eine Tabelle als erstes Argument.

Hinweis: Innerhalb von Measures bestehen einige Beschränkungen für die Schachtelung von Funktionen, um sicherzustellen, dass die Leistung durch die zahlreichen Berechnungen, die durch Abhängigkeiten zwischen Spalten erforderlich sind, 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 u. U. einen anderen Datentyp zurück. In der Regel ist es nicht möglich, DAX-Funktionen in einer Excel-Formel oder Excel-Formeln in Power Pivot zu verwenden, ohne bestimmte Änderungen vorzunehmen.

  • DAX-Funktionen akzeptieren keinen Zellbezug oder Bereich als Verweis. 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 Matrizen unterstützen. Der einfache Verweis auf vollständige Tabellen und Spalten ist eine neue Funktion in Power Pivot.

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

  • 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.

DAX-Datentypen

Sie können Daten in ein Power Pivot Datenmodell aus vielen verschiedenen Datenquellen importieren, die unterschiedliche Datentypen unterstützen können. Wenn Sie die Daten importieren oder laden und dann die Daten in Berechnungen oder in PivotTables verwenden, werden die Daten in einen der Power Pivot konvertiert. Eine Liste der Datentypen finden Sie unter Datentypen in Datenmodellen.

Der table-Datentyp 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 Power Pivot.

Formeln und das relationale Modell

Das Power Pivot-Fenster ist ein Bereich, in dem Sie mit mehreren Datentabellen arbeiten und die Tabellen in einem relationalen Modell verbinden können. Innerhalb dieses Datenmodells werden Tabellen über Beziehungen miteinander verknüpft, die es 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 Beziehungen zwischen Tabellen in einem Datenmodell.

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 Power Pivot 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 sein, dass die Werte der beiden als Schlüssel verwendeten Spalten weitestgehend übereinstimmen. Da von Power Pivot 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 Suchvorgänge in Power Pivot-Formeln.

  • Wenn Sie Tabellen 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.

Aktualisieren der Ergebnisse von Formeln

Datena ktualisierung 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 dem die Ergebnisse von Formeln aktualisiert werden, um Änderungen an den Formeln selbst sowie an den zugrunde liegenden Daten widerzuspiegeln. Die Neuberechnung kann die Leistung in folgender Weise beeinträchtigen:

  • Für eine berechnete Spalte sollte 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 erst berechnet, wenn das Measure in den Kontext der PivotTable oder der PivotTable PivotChart. Die Formel wird auch neu berechnet, wenn Sie eine beliebige Zeilen- oder Spaltenüberschrift ändern, die sich auf Datenfilter auswirkt, oder wenn Sie die PivotTable manuell aktualisieren.

Problembehandlung in Formeln

Fehler beim Erstellen von Formeln

Wenn beim Definieren einer Formel ein Fehler angezeigt wird, enthält die Formel möglicherweise entweder einen Syntaxfehler, einen Semantikfehler oder einen Berechnungsfehler.

Von diesen sind die Syntaxfehler am einfachsten zu beheben. Normalerweise bestehen sie in einer fehlenden Klammer oder einem fehlenden Komma. Hilfe zur Syntax einzelner Funktionen finden Sie in der DAX-Funktionsreferenz.

Der andere Typ Fehler tritt auf, wenn die Syntax richtig ist, der Wert der Spalten, auf die verwiesen wird, jedoch im Kontext der Formel keinen Sinn ergibt. Derartige Semantik- und Berechnungsfehler können durch eins der folgenden Probleme verursacht werden:

  • Die Formel verweist auf eine nicht vorhandene Spalte, Tabelle oder Funktion.

  • Die Formel erscheint richtig, wenn das Datenmodul die Daten dann abruft, findet es jedoch einen Typfehler und gibt einen Fehler aus.

  • Die Formel übergibt einer Funktion eine falsche Zahl oder einen falschen Parametertyp.

  • Die Formel verweist auf eine andere Spalte, die einen Fehler aufweist und deren Werte daher ungültig sind.

  • Die Formel verweist auf eine Spalte, die nicht verarbeitet wurde, d.h. sie verfügt über Metadaten, jedoch nicht über Nutzdaten, die für die Berechnung verwendet werden können.

In den ersten vier Fällen markiert DAX die gesamte Spalte, die die ungültige Formel enthält. Im letzten Fall stellt DAX die Spalte ausgegraut dar, um anzuzeigen, dass sie sich in einem nicht verarbeiteten Zustand befindet.

Falsche oder ungewöhnliche Werte beim Bewerten oder Sortieren von Spaltenwerten

Beim Bewerten oder Sortieren einer Spalte, die einen NaN-Wert (Not a Number, kein Zahlenwert) enthält, können falsche oder unerwartete Ergebnisse resultieren. Wenn eine Berechnung beispielsweise 0 durch 0 dividiert, wird ein NaN-Ergebnis zurückgegeben.

Dies hat den Grund, dass das Formelmodul Sortierung und Bewertung durch Vergleich der numerischen Werte durchführt; NaN kann jedoch nicht mit Zahlen in der Spalte verglichen werden.

Zum Sicherstellen richtiger Ergebnisse können Sie bedingte Anweisungen mit der Funktion WENN verwenden, um auf NaN-Werte zu prüfen und einen numerischen Wert 0 zurückzugeben.

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

Normalerweise sind in Power Pivot erstellte DAX-Formeln vollständig kompatibel mit Analysis Services-Tabellenmodellen. Wenn Sie das Power Pivot-Modell zu einer Analysis Services-Instanz migrieren und das Modell dann 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 in der Dokumentation zur Tabellenmodellierung in Analysis Services in der SQL Server 2012-Onlinedokumentation.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Übersetzungsqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×