Dieser Abschnitt enthält Links zu Beispielen, die die Verwendung von DAX-Formeln in den folgenden Szenarien veranschaulichen.
-
Ausführen komplexer Berechnungen
-
Arbeiten mit Text und Datumsangaben
-
Bedingte Werte und Testen auf Fehler
-
Verwenden von Zeitintelligenz
-
Rangfolge und Vergleich von Werten
Inhalt dieses Artikels
Erste Schritte
Besuchen Sie das DAX Resource Center Wiki , in dem Sie alle möglichen Informationen zu DAX finden, einschließlich Blogs, Beispiele, Whitepapers und Videos, die von branchenführenden Experten und Microsoft bereitgestellt werden.
Szenarien: Ausführen komplexer Berechnungen
DAX-Formeln können komplexe Berechnungen durchführen, die benutzerdefinierte Aggregationen, Filterung und die Verwendung von bedingten Werten umfassen. Dieser Abschnitt enthält Beispiele für die ersten Schritte mit benutzerdefinierten Berechnungen.
Erstellen benutzerdefinierter Berechnungen für eine PivotTable
CALCULATE und CALCULATETABLE sind leistungsstarke, flexible Funktionen, die zum Definieren berechneter Felder nützlich sind. Mit diesen Funktionen können Sie den Kontext ändern, in dem die Berechnung ausgeführt wird. Sie können auch die Art der aggregations- oder mathematischen Operation anpassen, die ausgeführt werden soll. Beispiele finden Sie in den folgenden Themen.
Anwenden eines Filters auf eine Formel
An den meisten Stellen, an denen eine DAX-Funktion eine Tabelle als Argument akzeptiert, können Sie stattdessen eine gefilterte Tabelle übergeben, indem Sie entweder die FILTER-Funktion anstelle des Tabellennamens verwenden oder einen Filterausdruck als eines der Funktionsargumente angeben. Die folgenden Themen enthalten Beispiele zum Erstellen von Filtern und zum Einfluss von Filtern auf die Ergebnisse von Formeln. Weitere Informationen finden Sie unter Filtern von Daten in DAX-Formeln.
Mit der FILTER-Funktion können Sie Filterkriterien mithilfe eines Ausdrucks angeben, während die anderen Funktionen speziell dafür konzipiert sind, leere Werte herauszufiltern.
Selektives Entfernen von Filtern, um ein dynamisches Verhältnis zu erstellen
Durch das Erstellen dynamischer Filter in Formeln können Sie fragen wie die folgenden ganz einfach beantworten:
-
Welchen Beitrag hat der Umsatz des aktuellen Produkts zum Gesamtumsatz des Jahres beigetragen?
-
Wie viel hat diese Division im Vergleich zu anderen Divisionen zum Gesamtergebnis aller Betriebsjahre beigetragen?
Formeln, die Sie in einer PivotTable verwenden, können vom PivotTable-Kontext beeinflusst werden, aber Sie können den Kontext selektiv ändern, indem Sie Filter hinzufügen oder entfernen. Das Beispiel im Thema ALL zeigt Ihnen, wie Sie dies tun. Um das Verhältnis der Verkäufe für einen bestimmten Wiederverkäufer gegenüber den Verkäufen für alle Handelspartner zu ermitteln, erstellen Sie ein Measure, das den Wert für den aktuellen Kontext dividiert durch den Wert für den ALL-Kontext berechnet.
Das ALLEXCEPT-Thema enthält ein Beispiel für das selektive Löschen von Filtern für eine Formel. In beiden Beispielen wird erläutert, wie sich die Ergebnisse je nach Entwurf der PivotTable ändern.
Weitere Beispiele zum Berechnen von Verhältnissen und Prozentsätzen finden Sie in den folgenden Themen:
Verwenden eines Werts aus einer äußeren Schleife
Zusätzlich zur Verwendung von Werten aus dem aktuellen Kontext in Berechnungen kann DAX einen Wert aus einer vorherigen Schleife verwenden, um eine Reihe verwandter Berechnungen zu erstellen. Das folgende Thema enthält eine exemplarische Vorgehensweise zum Erstellen einer Formel, die auf einen Wert aus einer äußeren Schleife verweist. Die EARLIER-Funktion unterstützt bis zu zwei Ebenen geschachtelter Schleifen.
Weitere Informationen zum Zeilenkontext und verwandten Tabellen und zur Verwendung dieses Konzepts in Formeln finden Sie unter Kontext in DAX-Formeln.
Szenarien: Arbeiten mit Text und Datumsangaben
Dieser Abschnitt enthält Links zu DAX-Referenzthemen, die Beispiele für gängige Szenarien enthalten, die das Arbeiten mit Text, das Extrahieren und Verfassen von Datums- und Uhrzeitwerten oder das Erstellen von Werten basierend auf einer Bedingung umfassen.
Erstellen einer Schlüsselspalte durch Verkettung
Power Pivot lässt keine zusammengesetzten Schlüssel zu. Wenn Sie daher über zusammengesetzte Schlüssel in Ihrer Datenquelle verfügen, müssen Sie diese möglicherweise in einer einzelnen Schlüsselspalte kombinieren. Das folgende Thema enthält ein Beispiel für das Erstellen einer berechneten Spalte basierend auf einem zusammengesetzten Schlüssel.
Erstellen eines Datums basierend auf Datumsteilen, die aus einem Textdatum extrahiert wurden
Power Pivot verwendet einen SQL Server-Datentyp vom Typ "Datum/Uhrzeit", um mit Datumsangaben zu arbeiten. Wenn Ihre externen Daten also Datumsangaben enthalten, die anders formatiert sind (z. B. wenn Ihre Datumsangaben in einem regionalen Datumsformat geschrieben sind, das von der Power Pivot-Daten-Engine nicht erkannt wird, oder wenn Ihre Daten ganzzahlige Ersatzschlüssel verwenden), müssen Sie möglicherweise eine DAX-Formel verwenden, um die Datumsteile zu extrahieren und die Teile dann in einer gültigen Datums-/Uhrzeitdarstellung zusammenzustellen.
Wenn Sie beispielsweise über eine Spalte mit Datumsangaben verfügen, die als ganze Zahl dargestellt und dann als Textzeichenfolge importiert wurden, können Sie die Zeichenfolge mithilfe der folgenden Formel in einen Datums-/Uhrzeitwert konvertieren:
=DATE(RIGHT([Value1],4);LEFT([Wert1],2);MID([Wert1],2))
Wert1 |
Result |
---|---|
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Die folgenden Themen enthalten weitere Informationen zu den Funktionen, die zum Extrahieren und Verfassen von Datumsangaben verwendet werden.
Definieren eines benutzerdefinierten Datums- oder Zahlenformats
Wenn Ihre Daten Datumsangaben oder Zahlen enthalten, die nicht in einem der Standardmäßigen Windows-Textformate dargestellt werden, können Sie ein benutzerdefiniertes Format definieren, um sicherzustellen, dass die Werte ordnungsgemäß behandelt werden. Diese Formate werden beim Konvertieren von Werten in Zeichenfolgen oder aus Zeichenfolgen verwendet. Die folgenden Themen enthalten auch eine detaillierte Liste der vordefinierten Formate, die für die Arbeit mit Datumsangaben und Zahlen verfügbar sind.
Ändern von Datentypen mithilfe einer Formel
In Power Pivot wird der Datentyp der Ausgabe durch die Quellspalten bestimmt, und Sie können den Datentyp des Ergebnisses nicht explizit angeben, da der optimale Datentyp durch Power Pivot bestimmt wird. Sie können jedoch die impliziten Datentypkonvertierungen verwenden, die von Power Pivot ausgeführt werden, um den Ausgabedatentyp zu bearbeiten.
-
Um ein Datum oder eine Zahlenzeichenfolge in eine Zahl zu konvertieren, multiplizieren Sie mit 1,0. Die folgende Formel berechnet beispielsweise das aktuelle Datum minus 3 Tage und gibt dann den entsprechenden ganzzahligen Wert aus.
=(HEUTE()-3)*1,0
-
Verketten Sie den Wert mit einer leeren Zeichenfolge, um einen Datums-, Zahlen- oder Währungswert in eine Zeichenfolge umzuwandeln. Die folgende Formel gibt beispielsweise das heutige Datum als Zeichenfolge zurück.
=""& HEUTE()
Die folgenden Funktionen können auch verwendet werden, um sicherzustellen, dass ein bestimmter Datentyp zurückgegeben wird:
Konvertieren reellen Zahlen in ganze Zahlen
-
Konvertieren von reellen Zahlen, ganzen Zahlen oder Datumsangaben in Zeichenfolgen
-
Konvertieren von Zeichenfolgen in reelle Zahlen oder Datumsangaben
Szenario: Bedingte Werte und Testen auf Fehler
Wie Excel verfügt DAX über Funktionen, mit denen Sie Werte in den Daten testen und basierend auf einer Bedingung einen anderen Wert zurückgeben können. Sie können z. B. eine berechnete Spalte erstellen, die Wiederverkäufer abhängig vom Jahresumsatz entweder als Bevorzugt oder Als Wert bezeichnet. Funktionen, die Werte testen, sind auch nützlich, um den Bereich oder Typ von Werten zu überprüfen, um zu verhindern, dass unerwartete Datenfehler Berechnungen unterbrechen.
Erstellen eines Werts basierend auf einer Bedingung
Sie können geschachtelte IF-Bedingungen verwenden, um Werte zu testen und neue Werte bedingt zu generieren. Die folgenden Themen enthalten einige einfache Beispiele für bedingte Verarbeitung und bedingte Werte:
Testen auf Fehler innerhalb einer Formel
Im Gegensatz zu Excel können Sie keine gültigen Werte in einer Zeile einer berechneten Spalte und ungültige Werte in einer anderen Zeile haben. Das heißt, wenn in einem Teil einer Power Pivot Spalte ein Fehler auftritt, wird die gesamte Spalte mit einem Fehler gekennzeichnet, sodass Sie Formelfehler, die zu ungültigen Werten führen, immer korrigieren müssen.
Wenn Sie beispielsweise eine Formel erstellen, die durch null dividiert wird, erhalten Sie möglicherweise das Unendlichkeitsergebnis oder einen Fehler. Einige Formeln schlagen auch fehl, wenn die Funktion einen leeren Wert findet, wenn sie einen numerischen Wert erwartet. Während Sie Ihr Datenmodell entwickeln, empfiehlt es sich, die Fehler zuzulassen, damit Sie auf die Meldung klicken und das Problem beheben können. Wenn Sie Arbeitsmappen veröffentlichen, sollten Sie jedoch die Fehlerbehandlung integrieren, um zu verhindern, dass unerwartete Werte zu Fehlern bei Berechnungen führen.
Um das Zurückgeben von Fehlern in einer berechneten Spalte zu vermeiden, verwenden Sie eine Kombination aus logischen Funktionen und Informationsfunktionen, um auf Fehler zu testen und immer gültige Werte zurückzugeben. Die folgenden Themen enthalten einige einfache Beispiele für die Vorgehensweise in DAX:
Szenarien: Verwenden von Zeitintelligenz
Die DAX-Zeitintelligenzfunktionen umfassen Funktionen, mit denen Sie Datumsangaben oder Datumsbereiche aus Ihren Daten abrufen können. Anschließend können Sie diese Datumsangaben oder Datumsbereiche verwenden, um Werte über ähnliche Zeiträume hinweg zu berechnen. Die Zeitintelligenzfunktionen enthalten auch Funktionen, die mit Standarddatumsintervallen arbeiten, sodass Sie Werte über Monate, Jahre oder Quartale hinweg vergleichen können. Sie können auch eine Formel erstellen, die Werte für das erste und das letzte Datum eines angegebenen Zeitraums vergleicht.
Eine Liste aller Zeitintelligenzfunktionen finden Sie unter Time Intelligence Functions (DAX). Tipps zur effektiven Verwendung von Datums- und Uhrzeitangaben in einer Power Pivot Analyse finden Sie unter Datumsangaben in Power Pivot.
Berechnen kumulierter Umsätze
Die folgenden Themen enthalten Beispiele zum Berechnen von Abschluss- und Eröffnungssalden. In den Beispielen können Sie laufende Salden in verschiedenen Intervallen erstellen, z. B. Tage, Monate, Quartale oder Jahre.
Vergleichen von Werten im Zeitverlauf
Die folgenden Themen enthalten Beispiele für den Vergleich von Summen über verschiedene Zeiträume hinweg. Die von DAX unterstützten Standardzeiträume sind Monate, Quartale und Jahre.
Berechnen eines Werts über einen benutzerdefinierten Datumsbereich
In den folgenden Themen finden Sie Beispiele zum Abrufen benutzerdefinierter Datumsbereiche, z. B. die ersten 15 Tage nach beginn einer Verkaufsaktion.
Wenn Sie Zeitintelligenzfunktionen verwenden, um einen benutzerdefinierten Satz von Datumsangaben abzurufen, können Sie diesen Satz von Datumsangaben als Eingabe für eine Funktion verwenden, die Berechnungen ausführt, um benutzerdefinierte Aggregate über Zeiträume hinweg zu erstellen. Im folgenden Thema finden Sie ein Beispiel dafür:
-
Hinweis: Wenn Sie keinen benutzerdefinierten Datumsbereich angeben müssen, aber mit Standardbuchhaltungseinheiten wie Monaten, Quartalen oder Jahren arbeiten, empfehlen wir Ihnen, Berechnungen mit den für diesen Zweck entwickelten Zeitintelligenzfunktionen wie TOTALQTD, TOTALMTD, TOTALQTD usw. durchzuführen.
Szenarien: Rangfolge und Vergleich von Werten
Um nur die oberste n Anzahl von Elementen in einer Spalte oder PivotTable anzuzeigen, haben Sie mehrere Optionen:
-
Sie können die Features in Excel verwenden, um einen Top-Filter zu erstellen. Sie können auch eine Reihe von oberen oder unteren Werten in einer PivotTable auswählen. Im ersten Teil dieses Abschnitts wird beschrieben, wie Sie nach den ersten 10 Elementen in einer PivotTable filtern. Weitere Informationen finden Sie in der Excel-Dokumentation.
-
Sie können eine Formel erstellen, die Werte dynamisch bewertet, und dann nach den Rangfolgewerten filtern oder den Rangfolgewert als Slicer verwenden. Im zweiten Teil dieses Abschnitts wird beschrieben, wie Sie diese Formel erstellen und diese Rangfolge dann in einem Slicer verwenden.
Jede Methode hat Vor- und Nachteile.
-
Der Excel-Filter "Top" ist einfach zu verwenden, aber der Filter dient ausschließlich zu Anzeigezwecken. Wenn sich die der PivotTable zugrunde liegenden Daten ändern, müssen Sie die PivotTable manuell aktualisieren, um die Änderungen anzuzeigen. Wenn Sie dynamisch mit Rangfolgen arbeiten müssen, können Sie DAX verwenden, um eine Formel zu erstellen, die Werte mit anderen Werten innerhalb einer Spalte vergleicht.
-
Die DAX-Formel ist leistungsfähiger; Darüber hinaus können Sie durch Hinzufügen des Rangfolgewerts zu einem Slicer einfach auf den Slicer klicken, um die Anzahl der angezeigten obersten Werte zu ändern. Die Berechnungen sind jedoch rechenintensiv, und diese Methode eignet sich möglicherweise nicht für Tabellen mit vielen Zeilen.
Nur die zehn wichtigsten Elemente in einer PivotTable anzeigen
So zeigen Sie die oberen oder unteren Werte in einer PivotTable an
|
Dynamisches Sortieren von Elementen mithilfe einer Formel
Das folgende Thema enthält ein Beispiel für die Verwendung von DAX zum Erstellen einer Rangfolge, die in einer berechneten Spalte gespeichert ist. Da DAX-Formeln dynamisch berechnet werden, können Sie immer sicher sein, dass die Rangfolge korrekt ist, auch wenn sich die zugrunde liegenden Daten geändert haben. Da die Formel auch in einer berechneten Spalte verwendet wird, können Sie die Rangfolge in einem Datenschnitt verwenden und dann top 5, top 10 oder sogar top 100 werte auswählen.