DAX-Szenarien
Dieser Abschnitt enthält Links zu Beispielen, in denen die Verwendung von DAX-Formeln in den folgenden Szenarien veranschaulicht wird.
Durchführen komplexer Berechnungen
Arbeiten mit Text und Datumsangaben
Bedingte Werte und Fehlerprüfung
Verwenden von Zeitintelligenz
Zuweisen von Rängen und Vergleichen von Werten
Erste Schritte
Wenn Sie noch nicht mit DAX-Formeln vertraut sind, empfiehlt es sich, sich zuerst die Beispiele in der DAX-Beispielarbeitsmappe anzusehen. Weitere Informationen zum Herunterladen der Beispielarbeitsmappe finden Sie unter Abrufen von Beispieldaten für PowerPivot.
Zusätzliche Ressourcen
Unter den folgenden Links finden Sie Videos, zusätzliche Beispiele und exemplarische Vorgehensweisen, die Ihnen helfen, DAX kennenzulernen.
Szenarien: Durchführen komplexer Berechnungen
Mit DAX-Formeln können anhand benutzerdefinierter Aggregationen, Filterung und der Verwendung bedingter Werte komplexe Berechnungen durchgeführt werden. 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 und für das Definieren von Measures hilfreiche Funktionen. Mit diesen Funktionen ändern Sie den Kontext, in dem die Berechnung durchgeführt wird. Sie können auch den Aggregationstyp oder die mathematische Operation anpassen, die durchgeführt werden soll. Werfen Sie einen Blick auf die Beispiele in den folgenden Themen:
Anwenden von Filtern auf Formeln
Wenn eine DAX-Funktion eine Tabelle als Argument akzeptieren kann, kann stattdessen normalerweise eine gefilterte Tabelle übergeben werden, entweder mit der FILTER-Funktion statt des Tabellennamens, oder durch das Angeben eines Filterausdrucks als eines der Funktionsargumente. Die folgenden Themen enthalten Beispiele zum Erstellen von Filtern und dazu, wie sich Filter auf die Ergebnisse von Formeln auswirken. Weitere Informationen finden Sie unter Filtern von Daten in Formeln.
Mit der FILTER-Funktion können Sie Filterkriterien mithilfe eines Ausdrucks angeben, während die anderen Funktionen speziell zum Filtern leerer Werte dienen.
Selektives Entfernen von Filtern zum Erstellen eines dynamischen Verhältnisses
Durch die Erstellung von dynamischen Filtern in Formeln können Sie leicht folgende Fragen beantworten:
Welchen Anteil hatten die Verkäufe des aktuellen Produkts am Gesamtumsatz für das Jahr?
Wie viel hat eine bestimmte Abteilung im Vergleich zu anderen Abteilungen zum Gesamtgewinn aller Geschäftsjahre beigetragen?
PivotTable-Kontext kann sich auf in einer PivotTable verwendete Formeln auswirken, allerdings können Sie den Kontext selektiv ändern, indem Sie Filter hinzufügen oder entfernen. Im Beispiel im Thema zur ALL-Funktion wird die entsprechende Vorgehensweise dargestellt. Erstellen Sie ein Measure, mit dem der Wert für aktuellen Kontext durch den Wert für den ALL-Kontext geteilt wird, um das Verhältnis von Verkäufen von einem bestimmten Wiederverkäufer zu den Verkäufen von allen Wiederverkäufern zu berechnen.
Das Thema zur ALLEXCEPT-Funktion enthält ein Beispiel dazu, wie Filter selektiv für eine Formel gelöscht werden. In beiden Beispielen wird dargestellt, wie sich die Ergebnisse abhängig von der Art der PivotTable ändern.
Andere Beispiele zum Berechnen von Verhältnissen und Prozentsätzen finden Sie in den folgenden Themen:
Verwenden eines Werts einer äußeren Schleife
Zusätzlich zum Verwenden von Werten in Berechnungen aus dem aktuellen Kontext kann von DAX ein Wert aus einer vorherigen Schleife zum Erstellen eines Satzes verwandter Berechnungen verwendet werden. Das folgende Thema enthält eine exemplarische Vorgehensweise zum Erstellen einer Formel, die auf einen Wert von einer äußeren Schleife verweist. Von der EARLIER-Funktion werden bis zu zwei Ebenen von geschachtelten Schleifen unterstützt.
Weitere Informationen zu Zeilenkontext und verknüpften Tabellen und wie dieses Konzept in Formeln verwendet wird finden Sie unter Kontext in DAX-Formeln.
Zurück zum Anfang
Szenarien: Arbeiten mit Text und Datumsangaben
Dieser Abschnitt enthält Links zu DAX-Referenzthemen, die Beispiele zu allgemeinen Szenarien für das Arbeiten mit Text, das Extrahieren und das Verfassen von Datums- und Uhrzeitwerten oder das Erstellen von Werten auf Grundlage einer Bedingung enthalten.
Erstellen einer Schlüsselspalte durch Verkettung
PowerPivot lässt keine zusammengesetzten Schlüssel zu. Sind also zusammengesetzte Schlüssel in der Datenquelle vorhanden, müssen diese möglicherweise in eine einzelne Schlüsselspalte kombiniert werden. Das folgende Thema enthält ein Beispiel zum Erstellen einer berechneten Spalte auf Grundlage eines zusammengesetzten Schlüssels.
Zusammenstellen einer Datumsangabe auf Grundlage von aus einem Textdatum extrahierten Datumsteilen
Von PowerPivot wird ein SQL Server-Datums-/Uhrzeitdatentyp zum Arbeiten mit Datumsangaben verwendet. Enthalten die externen Daten Datumsangaben in einem anderen Format, z. B. Datumsangaben in einem regionalen Datumsformat, das nicht vom PowerPivot-Datenmodul erkannt wird oder werden ganzzahlige Ersatzschlüssel verwendet, müssen Sie möglicherweise eine DAX-Formel verwenden, um die Datumsteile zu extrahieren und dann die Teile zu einer gültigen Datums-/Uhrzeitdarstellung zusammenzustellen.
Ist z. B. eine Spalte mit Datumsangaben vorhanden, die als ganze Zahl dargestellt und anschließend als Textzeichenfolge importiert wurden, können Sie die Zeichenfolge mit der folgenden Formel in einen Datums-/Uhrzeitwert konvertieren:
=DATE(RIGHT([Value1],4),LEFT([Value1],2),MID([Value1],2))
Value1 |
Ergebnis |
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Die folgenden Themen enthalten weitere Informationen zu den Funktionen, mit denen Datumsangaben extrahiert und verfasst werden können.
Definieren eines benutzerdefinierten Datums- oder Zahlenformats
Wenn die Daten Datumsangaben oder Zahlen enthalten, die keinem der standardmäßigen Windows-Textformate entsprechen, können Sie ein benutzerdefiniertes Format definieren, um sicherzustellen, dass die Werte ordnungsgemäß behandelt werden. Beim Konvertieren von Werten in Zeichenfolgen oder von Zeichenfolgen werden diese Formate verwendet. Die folgenden Themen stellen auch eine ausführliche Liste der vordefinierten Formate bereit, die zum Arbeiten mit Datumsangaben und Zahlen verfügbar sind.
Benutzerdefinierte numerische Formate für die FORMAT-Funktion
Vordefinierte Datums- und Uhrzeitformate für die FORMAT-Funktion
Benutzerdefinierte Datums- und Uhrzeitformate für die FORMAT-Funktion
Ändern von Datentypen mithilfe von Formeln
In PowerPivot wird der Ausgabedatentyp von den Quellenspalten bestimmt. Sie können den Datentyp des Ergebnisses nicht explizit angeben, da der optimale Datentyp von PowerPivot bestimmt wird. Allerdings kann die implizite Datentypkonvertierung von PowerPivot verwenden werden, um den Ausgabedatentyp zu bearbeiten. Weitere Informationen zu Typkonvertierungen finden Sie unter In PowerPivot-Arbeitsmappen unterstützte Datenquellen.
Zum Konvertieren eines Datum oder eine Zahlenzeichenfolge in eine Zahl multiplizieren Sie mit 1,0. Mit der folgenden Formel wird z. B. das aktuelle Datum abzüglich drei Tage berechnet, und anschließend wird der entsprechende ganzzahlige Wert ausgegeben.
=(TODAY()-3)*1.0
Verketten Sie den Wert mit einer leeren Zeichenfolge, um ein Datum, eine Zahl oder einen Währungswert in eine Zeichenfolge zu konvertieren. Von der folgenden Formel wird beispielsweise das aktuelle Datum als Zeichenfolge zurückgegeben.
=""& TODAY()
Die folgenden Funktionen können auch verwendet werden, um sicherzustellen, dass ein bestimmter Datentyp zurückgegeben wird:
Konvertieren reeller Zahlen in ganze Zahlen
Konvertieren reeller Zahlen, ganzer Zahlen oder Datumsangaben in Zeichenfolgen
Konvertieren von Zeichenfolgen in reelle Zahlen oder Datumsangaben
Zurück zum Anfang
Szenario: Bedingte Werte und Fehlerprüfung
Wie bei Excel verfügt auch DAX über Funktionen, mit denen Datenwerte getestet und auf Grundlage einer Bedingung andere Werte zurückgegeben werden können. Sie können z. B. eine berechnete Spalte erstellen, die Wiederverkäufer abhängig vom jährlichen Umsatz entweder als Preferred oder Value auszeichnet. Funktionen zum Prüfen von Werten sind auch hilfreich zum Überprüfen von Werttypen oder Wertbereichen, um unerwartete Datenfehler bei aktuellen Berechnungen zu vermeiden.
Erstellen eines Werts auf Grundlage 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:
Prüfen auf Fehler in einer Formel
Im Gegensatz zu Excel dürfen in einer Zeile einer berechneten Spalte keine gültigen Werte und in einer anderen keine ungültigen Werte vorhanden sein. Weist eine Stelle einer PowerPivot-Spalte also einen Fehler auf, wird die ganze Spalte als fehlerhaft gekennzeichnet. Formelfehler, die zu ungültigen Werten führen, müssen also immer korrigiert werden.
Wenn Sie z. B. eine durch null teilende Formel erstellen, wird möglicherweise das Unendlichkeitsergebnis oder ein Fehler zurückgegeben. Einige Formeln liefern auch fehlerhafte Ergebnisse, wenn die Funktion auf einen leeren Wert stößt, obwohl ein numerischer Wert erwartet wurde. Während der Entwicklung des Datenmodells sollten Sie Fehler ruhig anzeigen lassen, damit Sie auf die Meldung reagieren und das Problem beheben können. Wenn Sie jedoch Arbeitsmappen veröffentlichen, sollten Sie die Fehlerbehandlung integrieren, damit durch unerwartete Werte keine fehlerhaften Berechnungsergebnisse ausgegeben werden.
Verwenden Sie eine Kombination aus logischen Funktionen und Informationsfunktionen, um auf Fehler zu testen und immer gültige Werte zurückzugeben, damit keine Fehler in einer berechneten Spalte zurückgegeben werden. Die folgenden Themen enthalten einige einfache Beispiele dazu, wie dies in DAX bewerkstelligt wird:
Zurück zum Anfang
Szenarien: Verwenden von Zeitintelligenz
Zu den DAX-Zeitintelligenzfunktionen gehören Funktionen, die Ihnen beim Abrufen von Datumsangaben oder Datumsbereichen aus Ihren Daten helfen. Sie können dann mithilfe dieser Datumsangaben oder Datumsbereiche Werte über ähnliche Zeiträume berechnen. Die Zeitintelligenzfunktionen enthält außerdem mit Standarddatumsintervallen funktionierende Funktionen, mit denen Sie Werte über Monate, Jahre oder Quartale hinweg vergleichen können. Sie können auch eine Formel erstellen, von der Werte für das erste und letzte Datum eines bestimmten Zeitraums verglichen werden.
Eine Liste aller Zeitintelligenzfunktionen finden Sie unter Zeitintelligenzfunktionen (DAX). Tipps zum effektiven Verwenden von Datumsangaben und Uhrzeiten in einer PowerPivot-Analyse finden Sie unter Datumsangaben in PowerPivot.
Berechnen von kumulierten Verkäufen
Beispiele zur Berechnung von Schluss- und Eröffnungsbilanzen finden Sie in den folgenden Themen. In den Beispielen können Sie laufende Bilanzen über verschiedene Intervalle erstellen, z. B. Tage, Monate, Quartale oder Jahre.
CLOSINGBALANCEMONTH-Funktion, CLOSINGBALANCEQUARTER-Funktion, CLOSINGBALANCEYEAR-Funktion
OPENINGBALANCEMONTH-Funktion, OPENINGBALANCEQUARTER-Funktion, OPENINGBALANCEYEAR-Funktion
Vergleichen von Werten im Zeitverlauf
Beispiele zum Vergleichen von Summen über unterschiedliche Zeiträume finden Sie in den folgenden Themen. Die in DAX unterstützten Standardzeiträume betragen Monate, Quartale und Jahre.
Berechnen eines Werts für einen benutzerdefinierten Datumsbereich
Beispiele zum Abrufen von benutzerdefinierten Datumsbereichen, z. B. die ersten 15 Tage nach dem Start einer Werbeaktion, finden Sie in den folgenden Themen.
Wenn Sie Zeitintelligenzfunktionen verwenden, um einen benutzerdefinierten Satz von Datumsangaben abzurufen, können Sie diesen Satz von Datumsangaben als Eingabe einer Funktion verwenden, die Berechnungen durchführt, um benutzerdefinierte Aggregate über Zeiträume zu erstellen. Ein Beispiel dazu finden Sie im folgenden Thema:
Hinweis |
---|
Wenn Sie keinen benutzerdefinierten Datumsbereich angeben müssen, jedoch mit Standardabrechnungseinheiten wie Monaten, Quartalen oder Jahren arbeiten, wird empfohlen, Berechnungen mit den für diesen Zweck entwickelten Zeitintelligenzfunktionen durchzuführen, beispielsweise mit TOTALMTD, TOTALQTD, TOTALYTD usw. |
Zurück zum Anfang
Szenarien: Zuweisen von Rängen und Vergleichen von Werten
Ihnen stehen mehrere Möglichkeiten zur Verfügung, um nur die oberste n-Anzahl von Elementen in einer Spalte oder PivotTable anzuzeigen:
Verwenden Sie die Funktionen in Excel 2010, um einen obersten Filter zu erstellen. Sie können auch eine Reihe von obersten oder untersten Werten in einer PivotTable auswählen. Im ersten Teil dieses Abschnitts wird beschrieben, wie eine PivotTable gefiltert wird, um die obersten 10 Elemente anzuzeigen. Weitere Informationen finden Sie in der Excel-Dokumentation.
Sie können eine Formel erstellen, mit der Werte dynamisch geordnet werden, und anschließend nach den Rangwerten als Slicer filtern, oder Sie verwenden den Rangwert als Slicer. Im zweiten Teil dieses Abschnitts wird beschrieben wie diese Formel erstellt und die Rangfolge anschließend als Slicer verwendet wird.
Jede Methode weist Vor- und Nachteile auf.
Der oberste Excel-Filter ist einfach zu verwenden, aber dient nur zum Anzeigen. Wenn sich die Daten, die der PivotTable zugrunde liegen, ändern, müssen Sie die PivotTable manuell aktualisieren, um die Änderungen anzuzeigen. Wenn Sie dynamisch mit Rangfolgen arbeiten müssen, können Sie mithilfe von DAX eine Formel erstellen, die Werte mit anderen Werten innerhalb einer Spalte vergleicht.
Die DAX-Formel ist leistungsstärker. Darüber hinaus können Sie durch das Hinzufügen eines Rangwerts zu einem Slicer einfach die Anzahl der obersten angezeigten Werte ändern, indem Sie auf den Slicer klicken. Die Berechnungen sind jedoch rechenintensiv, und die Methode ist möglicherweise nicht für Tabellen mit vielen Zeilen geeignet.
Anzeigen der obersten zehn Elemente in einer PivotTable
So zeigen Sie die obersten oder untersten Werte in einer PivotTable an |
||||||||
|
Dynamisches Ordnen von Elementen anhand einer Formel
Das folgende Thema enthält ein Beispiel dafür, wie DAX zum Erstellen einer Rangfolge verwendet werden kann, die in einer berechneten Spalte gespeichert wird. Da DAX-Formeln dynamisch berechnet werden, ist immer sichergestellt, dass die Rangfolge korrekt ist, auch wenn sich die zugrunde liegenden Daten geändert haben. Da die Formel in einer berechneten Spalte verwendet wird, können Sie außerdem die Rangfolge in einem Slicer verwenden, um die obersten 5, 10 oder sogar 100 Werte auszuwählen.
Zurück zum Anfang
Siehe auch
Konzepte
Übersicht über Data Analysis Expressions (DAX)
Hinzufügen von Berechnungen zu Berichten, Diagrammen und PivotTables