Data Analysis Expressions (DAX) in Power Pivot

Wichtig :  Dieser Artikel wurde maschinell übersetzt. Bitte beachten Sie den Haftungsausschluss. Die englische Version des Artikels ist als Referenz hier verfügbar: hier.

Data Analysis Expressions (DAX) hört etwas wiegende Weise einzuschüchtern zuerst, aber nicht den Namen, die Sie zu täuschen lassen. DAX-Grundlagen sind wirklich ganz einfach zu verstehen. Wichtigste zuerst - DAX ist keiner Programmiersprache. DAX ist eine Formel Sprache. Sie können DAX zum Definieren von benutzerdefinierter Berechnungen für Berechneten Spalten und Measures (auch bekannt als berechnete Felder). DAX enthält einige der Funktionen in Excel-Formeln verwendet werden, und zusätzliche Funktionen dazu ausgelegt, arbeiten mit relationalen Daten und dynamische Aggregation ausführen.

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 unter Verwendung aussagekräftiger Datumsbereiche und den Vergleich von Ergebnissen über parallele Zeiträume.

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 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, die auf Measures basieren und anderen berechneten Spalten erstellen. Vermeiden Sie mit den gleichen Namen für eine berechnete Spalte und ein Measure, jedoch, wie dies zu verwirrenden Ergebnisse führen kann. Wenn Sie auf eine Spalte verweisen, empfiehlt es sich, einen Verweis vollqualifizierte Spalte verwenden, um zu vermeiden, versehentlich ein Measure aufrufen.

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

Measures

Ein Measure ist eine Formel, die speziell für die Verwendung in einer PivotTable (oder PivotChart) erstellt wird, die Daten Power Pivot verwendet. Measures können Grundlage standardaggregationsfunktionen, wie etwa zählen oder SUMMIEREN, oder Sie können eine eigene Formel mithilfe von DAX definieren. Ein Measure wird im Wertebereich eines PivotTable verwendet. Wenn Sie die berechneten Werte in einem anderen Bereich einer PivotTable platzieren möchten, verwenden Sie stattdessen eine berechnete Spalte.

Wenn Sie eine Formel für ein Measure explizit definieren, passiert nichts, bis Sie das Measure in einer PivotTable hinzufügen. Wenn Sie das Measure hinzugefügt haben, wird die Formel für jede Zelle im Wertebereich der PivotTable ausgewertet. Da ein Ergebnis für jede Kombination von Zeilen- und Spaltenüberschriften erstellt wurde, kann das Ergebnis für das Measure in jeder Zelle abweichen.

Die Definition der Maßnahme, die Sie erstellen, wird mit dessen Datentabelle Quelle gespeichert. Es wird in der Liste PivotTable-Fields und für alle Benutzer der Arbeitsmappe verfügbar ist.

Ausführlichere Informationen finden Sie unter Measures in PowerPivot.

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

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

Power Pivot fügt keine schließende Klammer für Funktionen hinzu und gleicht Klammern nicht automatisch ab. Sie sollten 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 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 : Einige Grenzwerte für die Schachtelung von Funktionen befinden sich innerhalb der Maßnahmen, um sicherzustellen, dass die Leistung durch die zahlreichen Berechnungen, 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 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

In ein Power Pivot-Datenmodell können Daten aus vielen unterschiedlichen Quellen importiert werden, die möglicherweise unterschiedliche Datentypen unterstützen. Wenn Sie die Daten importieren bzw. laden und dann in Berechnungen oder PivotTables verwenden, werden die Daten in einen der Power Pivot-Datentypen 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 berechnet, bis das Measure im Zusammenhang mit der PivotTable oder PivotChart platziert wird. Die Formel wird auch neu berechnet werden, wenn Sie alle Zeilen- oder Spaltenüberschrift, die Filter für Daten wirkt sich auf Ändern oder die PivotTable manuell zu 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.

Hinweis : Haftungsausschluss für maschinelle Übersetzungen: Dieser Artikel wurde mithilfe eines Computersystems und ohne jegliche Bearbeitung durch Personen übersetzt. Microsoft bietet solche maschinellen Übersetzungen als Hilfestellung für Benutzer ohne Englischkenntnisse an, damit Sie von den Informationen zu Produkten, Diensten und Technologien von Microsoft profitieren können. Da es sich bei diesem Artikel um eine maschinelle Übersetzung handelt, enthält er möglicherweise Fehler in Bezug auf (Fach-)Terminologie, Syntax und/oder Grammatik.

Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×