Schnellstart: DAX-Grundlagen in 30 Minuten

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

Dieses Schnellstart-Lernprogramm richtet sich an Benutzer, die noch nicht mit Power Pivot in Excel bzw. Projekten für tabellarische Modelle, die in SQL Server Data Tools erstellt wurden, gearbeitet haben. Es vermittelt schnelle und verständliche Erkenntnisse darüber, wie sich grundlegende Aufgabenstellungen bei der Datenmodellierung und Analyse mithilfe von Data Analysis Expressions (DAX) lösen lassen. Dieses Thema enthält grundlegende Informationen, eine Reihe praktischer Übungen und einige Quizaufgaben, um den Lernerfolg zu überprüfen. Nachdem Sie dieses Thema abgeschlossen haben, sollten Sie sich mit den meisten Grundbegriffen von DAX gut auskennen.

Was ist DAX?

DAX ist eine Sammlung von Funktionen, Operatoren und Konstanten, die in einer Formel oder einem Ausdruck verwendet werden können, um mindestens einen Wert berechnen oder zurückgeben zu können. Einfach ausgedrückt, erleichtert DAX die Gewinnung neuer Informationen aus den bereits im Modell vorhandenen Daten.

Warum ist DAX so wichtig?

Es ist relativ einfach, eine Arbeitsmappe zu erstellen und eine Handvoll Daten zu importieren. Sie kommen auch ohne DAX-Formeln aus, solange Sie PivotTables oder PivotCharts zur Darstellung wichtiger Informationen erstellen. Was ist jedoch, wenn Sie wichtige Vertriebsdaten für mehrere Produktkategorien analysieren müssen, die sich auf unterschiedliche Datumsbereiche beziehen? Oder stellen Sie sich vor, Sie müssen wichtige Bestandsdaten aus mehreren Tabellen zusammenführen, die sich in verschiedenen Datenquellen befinden. DAX-Formeln setzen genau hier an und bieten darüber hinaus eine Vielzahl weiterer wichtiger Funktionen. Durch den effektiven Einsatz von DAX-Formeln sind Sie in der Lage, Ihre Daten optimal auszuschöpfen. Indem Sie die richtigen Informationen zur Hand haben, können Sie sich konkreten Geschäftsanforderungen widmen, die sich auf das Unternehmensergebnis auswirken. Das ist der Sinn und Zweck von Business Intelligence, und DAX hilft Ihnen, Ihre Ziele zu erreichen.

Voraussetzungen

Möglicherweise sind Sie bereits mit dem Erstellen von Formeln in Microsoft Excel vertraut. Obwohl diese Kenntnisse Ihnen das Verständnis von DAX erleichtern, sind aber auch Neueinsteiger, die noch nicht mit Excel-Formeln gearbeitet haben, nach diesem Schnellstart in der Lage, erste DAX-Formeln zu erstellen und praktische BI-Aufgabenstellungen auf Anhieb zu lösen.

Um den Fokus werden speziell auf Grundlegendes zu DAX-Formeln in Berechnungen verwendet wir. Sie sollten bereits grundlegende Konzepte von berechneten Spalten und Measures (auch bekannt als berechneten Feldern) vertraut sein, die beide über in Power Pivot Hilfe beschrieben werden. Sie sollten auch mit der Power Pivot in Excel authoring-Umgebung und Tools vertraut sein.

Beispielarbeitsmappe

Am einfachsten gelingt der Einstieg in DAX, indem Sie einige grundlegende Formeln erstellen, diese anhand "echter" Daten testen und das Ergebnis dann überprüfen. Die Beispiele und Aufgaben in diesem Lernprogramm basieren auf der Arbeitsmappe "Contoso Sample DAX Formulas.xlsx". Sie können die Arbeitsmappe von "http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409" herunterladen. Sobald Sie die Arbeitsmappe auf den Computer heruntergeladen haben, öffnen Sie erst die Arbeitsmappe und dann das Power Pivot-Fenster.

Los geht's!

Wir betrachten DAX unter drei grundlegenden Blickwinkeln: Syntax, Funktionen und Kontext. Natürlich gibt es andere wichtige Konzepte, aber das Verständnis dieser drei Bereiche bildet die beste Grundlage zum Erwerb solider Kenntnisse in DAX.

Syntax

Vor dem Erstellen eigener Formeln werfen wir einen Blick auf die DAX-Formelsyntax. Die Syntax umfasst die verschiedenen Elemente, aus denen eine Formel besteht; einfacher gesagt, zeigt sie uns, wie die Formel geschrieben wird. Nehmen wir als Beispiel eine einfache DAX-Formel, durch die neue Daten (Werte) für jede Zeile in der berechneten Spalte "Margin" der Tabelle "FactSales" erstellt werden: (der Formeltext ist lediglich zur Veranschaulichung farblich markiert)

Formel für eine berechnete Spalte

Die Formelsyntax umfasst die folgenden Elemente:

  1. Der Gleichheitszeichenoperator (=) kennzeichnet den Anfang der Formel. Bei der Berechnung der Formel gibt er ein Ergebnis oder einen Wert zurück. Alle Formeln zur Berechnung eines Werts beginnen mit einem Gleichheitszeichen.

  2. Die Spalte "[SalesAmount]", auf die verwiesen wird, enthält die Werte, von denen subtrahiert wird. Ein Spaltenverweis in einer Formel steht immer in eckigen Klammern []. Im Unterschied zu Excel-Formeln, die auf eine Zelle verweisen, verweist eine DAX-Formel immer auf eine Spalte.

  3. Der mathematische Subtraktionsoperator (-).

  4. Die Spalte "[TotalCost]", auf die verwiesen wird, enthält die Werte, die von Werten in der Spalte "[SalesAmount]" subtrahiert werden sollen.

Das Lesen einer DAX-Formel fällt häufig leichter, wenn Sie die einzelnen Elemente in eine weniger abstrakte Alltagssprache übertragen, in der sich die Sachverhalte einfach ausdrücken lassen. Sie können diese Formel z. B. wie folgt lesen:

Berechne (=) in der Tabelle FactSales für jede Zeile in der berechneten Spalte "Margin" einen Wert, indem Werte in der Spalte [TotalCost] von Werten in der Spalte [SalesAmount] subtrahiert (–) werden.

Sehen wir uns auf einen anderen Formeltyp, der in ein Measure verwendet wird:

Formel für ein berechnetes Feld

Diese Formel umfasst die folgenden Syntaxelemente:

  1. Der Measurename Summe Sales Amount. Formeln für Measures können die Measurename, gefolgt von einem Doppelpunkt, gefolgt von der Formel zur Berechnung einbeziehen.

  2. Der Gleichheitszeichenoperator gibt (=) den Anfang der Berechnungsformel an. Nach der Berechnung gibt er ein Ergebnis zurück.

  3. Mithilfe der SUM-Funktion werden alle Zahlen in der Spalte "[SalesAmount]" addiert. Sie erfahren später mehr über Funktionen.

  4. Ein oder mehrere Argumente in runden Klammern (). Alle Funktionen erfordern mindestens ein Argument. Ein Argument übergibt einen Wert an eine Funktion.

  5. Die Tabelle "FactSales", auf die verwiesen wird.

  6. Die Spalte "[SalesAmount]", auf die verwiesen wird, in der Tabelle "FactSales". Dieses Argument teilt der SUM-Funktion mit, für welche Spalte eine Summe aggregiert werden soll.

Sie können diese Formel wie folgt lesen:

Für die Measure mit dem Namen Summe Sales Amount, Berechne (=) die Summe der Werte der [ SalesAmount ] Spalte in der FactSales Tabelle.

Wenn in platziert legen Sie die Werte in einer PivotTable-Feldliste Zone, diese Maßnahme berechnet und gibt Werte definiert werden, indem Sie jede Zelle in der PivotTable, beispielsweise Mobiltelefone in den USA.

Verglichen mit der Formel, die für die berechnete Spalte Margin verwendet wurde, weist diese Formel einige Unterschiede auf. Im Besonderen wurde die Funktion SUMME eingeführt. Funktionen sind vorgeschriebene Formeln, die komplexe Berechnungen und Manipulationen mit Zahlen, Datums- und Uhrzeitangaben, Text und vielem mehr vereinfachen. Sie erfahren später mehr über Funktionen.

Im Gegensatz zu der berechneten Spalte Margin finden Sie unter einer älteren Version, Sie die Spalte [SalesAmount] der Tabelle FactSales vorangestellt wurde in der die Spalte gehört. Dies wird als ein vollqualifizierter Spaltenname bezeichnet, darin, dass sie den Namen der Spalte vorangestellt den Namen der Tabelle enthält. Spalten verwiesen wird, in der gleichen Tabelle erforderlich den Namen der Tabelle in die Formel eingeschlossen werden keine. Anlegen können lange Formeln, die viele Spalten kürzer und leichter lesbar zu verweisen. Es ist jedoch empfiehlt sich das immer den Tabellennamen in Formeln Measure, auch in der gleichen Tabelle aufnehmen möchten.

Hinweis : Wenn der Name einer Tabelle Leerzeichen, reservierte Schlüsselwörter oder unzulässige Zeichen enthält, müssen Sie den Tabellennamen in einfache Anführungszeichen setzen. Sie müssen auch Tabellennamen in Anführungszeichen einschließen, wenn der Name Zeichen außerhalb des alphanumerischen ANSI-Zeichenbereichs enthält, unabhängig davon, ob das Gebietsschema den Zeichensatz unterstützt.

Es ist sehr wichtig, dass die Formeln die richtige Syntax aufweisen. Wenn die Syntax nicht richtig ist, wird in den meisten Fällen ein Syntaxfehler zurückgegeben. In anderen Fällen ist die Syntax möglicherweise richtig, aber die zurückgegebenen Werte entsprechen nicht dem, was Sie erwarten. Power Pivot (und SQL Server Data Tools) schließen IntelliSense ein; das ist eine Funktion zum Erstellen syntaktisch korrekter Formeln, die die Auswahl der richtigen Elemente unterstützt.

Als Nächstes erstellen wir eine einfache Formel. Diese Aufgabe vertieft das Verständnis der Formelsyntax und zeigt, wie Ihnen die IntelliSense-Funktion in der Bearbeitungsleiste die Arbeit erleichtert.

Aufgabe: Erstellen einer einfachen Formel für eine berechnete Spalte

  1. Wenn das Power Pivot-Fenster noch nicht geöffnet ist, klicken Sie in Excel im Power Pivot-Menüband auf Verwalten, um zum Power Pivot-Fenster zu wechseln.

  2. Klicken Sie im Power Pivot-Fenster auf die Tabelle (Registerkarte) FactSales.

  3. Scrollen Sie zur äußerst rechten Spalte, und klicken Sie dann in der Spaltenüberschrift auf Spalte hinzufügen.

  4. Klicken Sie oben im Modell-Designer-Fenster auf die Bearbeitungsleiste.

    Power Pivot-Bearbeitungsleiste

    Der Cursor wird jetzt in der Bearbeitungsleiste angezeigt. In die Bearbeitungsleiste können Sie eine Formel für eine berechnete Spalte oder ein berechnetes Feld eingeben.

    Als Nächstes erläutern wir die drei Schaltflächen links von der Bearbeitungsleiste.

    Bearbeitungsleiste

    Wenn der Cursor in der Bearbeitungsleiste aktiv ist, sind auch diese drei Schaltflächen aktiviert. Die äußerst linke Schaltfläche, das X, entspricht der normalen Schaltfläche "Abbrechen". Fahren Sie fort, indem Sie auf diese Schaltfläche klicken. Der Cursor wird nicht mehr in der Bearbeitungsleiste angezeigt, und auch die Schaltfläche "Abbrechen" und die Schaltfläche mit dem Häkchen sind nicht mehr zu sehen. Klicken Sie erneut auf die Bearbeitungsleiste. Die Schaltfläche "Abbrechen" und die Schaltfläche mit dem Häkchen werden wieder angezeigt. Das bedeutet, dass Sie mit der Eingabe einer Formel beginnen können.

    Die Schaltfläche mit dem Häkchen entspricht der Schaltfläche "Formel überprüfen". Sie gewinnt erst an Bedeutung, nachdem Sie eine Formel eingegeben haben. In Kürze werden wir darauf zurückkommen.

    Klicken Sie auf die Schaltfläche Fx . Sie sehen, dass ein neues Dialogfeld angezeigt wird; Das Dialogfeld Funktion einfügen. Das Dialogfeld Funktion einfügen ist die einfachste Möglichkeit zum Eingeben einer Formel DAX anzufangen. Wir werden eine Funktion in einer Formel hinzufügen, wenn wir ein Measure etwas später erstellen, aber jetzt, Sie nicht zum Hinzufügen einer Funktion zu Ihrer Formel der berechneten Spalte müssen. Fortfahren Sie, und schließen Sie das Dialogfeld Funktion einfügen.

  5. Geben Sie in der Bearbeitungsleiste ein Gleichheitszeichen (=) gefolgt von einer öffnenden eckigen Klammer ([) ein. Sie sehen ein kleines Fenster, das alle Spalten der Tabelle "FactSales" enthält. Das ist IntelliSense in Aktion.

    Da berechnete Spalten immer in der aktiven Tabelle erstellt werden, in der Sie sich gerade befinden, ist es nicht erforderlich, dem Spaltennamen den Tabellennamen voranzustellen. Fahren Sie fort, indem Sie nach unten scrollen, und doppelklicken Sie auf [SalesQuantity]. Sie können auch bis zum gewünschten Spaltennamen scrollen und TAB drücken.

    Der Cursor ist jetzt rechts von [SalesQuantity] aktiv.

  6. Geben Sie ein Leerzeichen gefolgt von einem Subtraktionsoperator (Minuszeichen) und dann ein weiteres Leerzeichen ein.

  7. Anschließend geben Sie eine weitere öffnende eckige Klammer ([) ein. Dieses Mal wählen Sie die Spalte [ReturnQuantity] aus und drücken dann die EINGABETASTE.

    Wenn ein Fehler zurückgegeben wird, überprüfen Sie sorgfältig die Syntax. Vergleichen Sie sie ggf. mit der Syntax der oben beschriebenen Formel für die berechnete Spalte "Margin".

    Nachdem Sie die Formel durch Drücken der EINGABETASTE abgeschlossen haben, wird die Angabe Wird berechnet in der Statusleiste unten im Power Pivot-Fenster angezeigt. Die Berechnung geht rasch voran, obwohl Sie gerade im Begriff sind, neue Werte für mehr als drei Millionen Zeilen zu berechnen.

  8. Klicken Sie mit der rechten Maustaste auf den Spaltenheader, und benennen Sie die Spalte in "NetSales" um.

Fertig! Sie haben gerade eine einfache, aber sehr leistungsstarke DAX-Formel erstellt. Durch die NetSales-Formel wird für jede Zeile in der Tabelle FactSales ein Wert berechnet, indem der Wert in der Spalte [ReturnQuantity] vom Wert in der Spalte [SalesQuantity] subtrahiert wird. Beachten Sie die Formulierung “Für jede Zeile”. Diese Formulierung haben wir im Vorgriff auf einen weiteren, sehr wichtigen DAX-Begriff gewählt, den Zeilenkontext. Sie erfahren später mehr über den Zeilenkontext.

Tipp : 

Wenn Sie einen Operator in eine DAX-Formel eingeben, gilt dem Datentyp in den verwendeten Argumenten ein besonderes Augenmerk. Wenn Sie z. B. die Formel "= 1 & 2" eingeben, entspricht der zurückgegebene Wert dem Textwert "12". Das liegt daran, dass der Operator für das kaufmännische Und-Zeichen (&) eigentlich zur Textverkettung verwendet ist. DAX interpretiert diese Formel wie folgt: Berechne ein Ergebnis, in dem der Wert 1 als Text verwendet und der Wert 2 als Text hinzuaddiert wird. Wenn Sie jedoch "= 1 + 2" eingeben, liest DAX die Formel wie folgt: Berechne ein Ergebnis, in dem der numerische Wert 1 verwendet und der numerische Wert 2 hinzuaddiert wird. Das Ergebnis entspricht natürlich dem numerischen Wert "3". DAX berechnet resultierende Werte abhängig von dem in der Formel verwendeten Operator und nicht auf Grundlage des Datentyps, den die im Argument verwendeten Spalten aufweisen. Datentypen in DAX sind sehr wichtig, gehen jedoch über den Inhalt dieses Schnellstart-Lernprogramms hinaus. Weitere Informationen über Datentypen und Operatoren in DAX-Formeln finden Sie in der DAX-Referenz (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x407) in der Onlinedokumentation.

Versuchen Sie eine andere aus. Diesmal, werden Sie durch die Formel eingeben und mithilfe von IntelliSense erstellen Sie ein Measure. Keine Sorge viel If Sie die Formel nicht vollständig zu verstehen. Hier der wichtige Hinweis besteht darin, die Informationen zum Erstellen einer Formel, die mehrere Elemente zusammen in die richtige Syntax verwenden.

Aufgabe: Erstellen einer Formel measure

  1. Klicken Sie in der Tabelle FactSales auf eine beliebige leere Zelle im Berechnungsbereich. Dabei handelt es sich um den Bereich mit leeren Zellen, der sich unterhalb einer Tabelle im Power Pivot-Fenster befindet.

Power Pivot-Berechnungsbereich

  1. Geben Sie in der Bearbeitungsleiste den Namen "Previous Quarter Sales" ein.

  2. Geben Sie ein Gleichheitszeichen (=) ein, um mit der Eingabe der Berechnungsformel zu beginnen.

  3. Geben Sie als erste Buchstaben CAL ein, und doppelklicken Sie dann auf die gewünschte Funktion. In dieser Formel verwenden Sie die Funktion CALCULATE.

  4. Geben Sie eine öffnende runde Klammer ein, um mit der Eingabe der an die CALCULATE-Funktion zu übergebenden Argumente zu beginnen.

    Nachdem Sie die öffnende runde Klammer eingegeben haben, zeigt IntelliSense die für die CALCULATE-Funktion erforderlichen Argumente an. In Kürze erfahren Sie mehr über Argumente.

  5. Geben Sie die ersten Buchstaben der Tabelle FactSales ein, und doppelklicken Sie dann in der Dropdownliste auf FactSales[Sales].

  6. Geben Sie ein Komma (,) ein, um den ersten Filter anzugeben, und geben Sie dann PRE ein. Anschließend doppelklicken Sie auf die Funktion PREVIOUSQUARTER.

    Nach Auswahl der PREVIOUSQUARTER-Funktion wird eine weitere öffnende runde Klammer angezeigt. Dies weist darauf hin, dass ein weiteres Argument erforderlich ist, und zwar für die PREVIOUSQUARTER-Funktion.

  7. Geben Sie die ersten Buchstaben "Dim" ein, und doppelklicken Sie dann auf DimDate[DateKey].

  8. Schließen Sie sowohl das an die PREVIOUSQUARTER-Funktion übergebene Argument als auch die CALCULATE-Funktion ab, indem Sie zwei schließende runde Klammern )) eingeben.

    Die Formel sollte jetzt wie folgt aussehen:

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Klicken Sie auf die Schaltfläche "Formel überprüfen" auf der Bearbeitungsleiste, um die Formel zu überprüfen. Wenn ein Fehler zurückgegeben wird, überprüfen Sie jedes Syntaxelement.

Meinten! Sie haben soeben ein Measure bei Verwendung von DAX und nicht nahe am, erstellt. Diese Formel Möglichkeiten ist den Gesamtumsatz im vorherigen Quartal, je nach den Filtern in einem PivotTable- oder PivotChart-angewendet zu berechnen.

Sie haben bereits mehrere wichtige Eigenschaften von DAX-Formeln kennen gelernt. Zu nennen wäre beispielsweise die Tatsache, dass diese Formel zwei Funktionen enthielt. Beachten Sie, dass die PREVIOUSQUARTER-Funktion als Argument geschachtelt wird, das an die CALCULATE-Funktion übergeben wird. DAX-Formeln können bis zu 64 geschachtelte Funktionen enthalten. Es ist unwahrscheinlich, dass eine Formel jemals so viele geschachtelte Funktionen enthält. In Wirklichkeit wäre es sehr schwierig, eine solche Formel zu erstellen und zu debuggen. Darüber hinaus wäre ihre Verwendung nicht sonderlich effizient.

Weiter wurden in dieser Formel auch Filter verwendet. Mithilfe von Filtern grenzen Sie ein, was Sie berechnen möchten. In diesem Fall haben Sie einen Filter als Argument ausgewählt, das genau genommen einer anderen Funktion entspricht. Sie werden zu einem späteren Zeitpunkt mehr über Filter erfahren.

Schließlich haben Sie die CALCULATE-Funktion verwendet. Dies ist eine der leistungsstärksten Funktionen in DAX. Wenn Sie später Datenmodelle und komplexere Formeln erstellen, wird diese Funktion aller Voraussicht nach häufiger zum Einsatz kommen. Die Erläuterung der CALCULATE-Funktion geht über den Rahmen dieses Schnellstart-Lernprogramms hinaus, mit zunehmenden Kenntnissen über DAX, gewinnt diese Funktion jedoch an Bedeutung.

Hinweis : Um die Zeitintelligenzfunktionen in DAX-Formeln zu verwenden, müssen Sie normalerweise eine eindeutige Datumstabelle angeben, indem Sie das Dialogfeld "Als Datumstabelle markieren" verwenden. In der Arbeitsmappe "Contoso DAX Formula Samples.xlsx" ist die Spalte "DateKey" in der Tabelle "DimDate" als eindeutige Datumsspalte ausgewählt.

Bonusaufgabe

Sie Fragen werden vielleicht: "Was ist die einfachste DAX-Formel kann ich erstellen?" Tja, lautet die Antwort auf die 'die Formel, die, der das nicht unbedingt'. Und ist genau das, was Sie tun können mithilfe einer Funktion Standardaggregation in ein Measure. Fast jede Datenmodell muss filtern und aggregierte Daten berechnen. Beispielsweise wird die Funktion Summe in der Summe Sales Amount-Measure, das weiter oben aufgeführt ist, um alle Zahlen in einer bestimmten Spalte zu addieren verwendet. DAX enthält die anderen Funktionen, die Werte auch aggregieren. Sie können automatisch Formeln mithilfe der Funktion "AutoSumme" standard Aggregationen erstellen.

Bonusaufgabe: Erstellen einer Formel Measure mithilfe der Funktion "AutoSumme"

  1. Scrollen Sie in der Tabelle "FactSales" zur "Spalte ReturnQuantity", und klicken Sie dann auf die Spaltenüberschrift, um die ganze Spalte auszuwählen.

  2. Klicken Sie auf dem Menüband auf der Registerkarte "Start" auf die Gruppe Berechnungen, und klicken Sie auf die Schaltfläche "AutoSumme".

AutoSumme in Power Pivot

  1. Klicken Sie auf den nach unten weisenden Pfeil neben AutoSumme, und klicken Sie dann auf Mittelwert (Beachten Sie die anderen Standardaggregation Funktionen Sie können verwendet werden, zu).
    Sofort, wird ein neues Measure mit dem Namen Mittelwert der returnquantity durch erstellt: dahinter die Formel = AVERAGE([ReturnQuantity]).

War das nicht einfach? Natürlich sind nicht alle Formeln derart einfach zu erstellen. Mithilfe der AutoSumme-Funktion können Sie jedoch schnell und einfach Formeln mithilfe von Standardaggregationen erstellen.

Das sollte Ihnen die in DAX-Formeln verwendete Syntax ein gutes Stück näher gebracht haben. Sie haben auch einige ziemlich nützliche Funktionen wie IntelliSense und AutoSumme kennen gelernt, die Sie beim Erstellen schneller, einfacher und präziser Formeln unterstützen. Natürlich gibt es einiges Wissenswertes mehr über die Syntax zu erfahren. Weitere hilfreiche Informationen finden Sie in der DAX-Referenz oder in der SQL-Onlinedokumentation.

QuickQuiz zur Syntax

  1. Welche Funktion hat diese Schaltfläche in der Bearbeitungsleiste?
    Funktionsschaltfläche

  2. Wovon ist ein Spaltenname in einer DAX-Formel immer umgeben?

  3. Wie würden Sie eine Formel für die folgende Anforderung schreiben?
    Berechne in der Tabelle DimProduct für jede Zeile in der berechneten Spalte UnitMargin einen Wert, indem Werte in der Spalte UnitCost von Werten in der Spalte UnitPrice subtrahiert werden.

Die Antworten finden Sie am Ende dieses Themas.

Funktionen

Funktionen sind vordefinierte Formeln, die Berechnungen mithilfe bestimmter Werte ausführen. Diese so genannten Argumente werden in einer bestimmten Reihenfolge oder Struktur angegeben. Argumente können andere Funktionen, eine andere Formel, Spaltenverweise, Zahlen, Text, logische Werte wie TRUE oder FALSE oder Konstanten sein.

DAX umfasst Funktionen der folgenden Kategorien: Datum-/Uhrzeit-, Informations-, Text- und Zeitintelligenzfunktionen sowie logische, mathematische und statistische Funktionen. Wenn Sie mit Funktionen in Excel-Formeln vertraut sind, werden Ihnen viele DAX-Funktionen bekannt vorkommen. DAX-Funktionen heben sich jedoch in folgender Weise ab:

  • 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 DAX Funktionen bereit, mit denen Sie – ähnlich einem Argument – den aktuellen Zeilenwert oder einen verknüpften Wert verwenden können, um Berechnungen durchzuführen, die sich je nach Kontext unterscheiden. Sie erfahren später mehr über den Kontext.

  • DAX enthält viele Funktionen, die keinen Wert, sondern eine Tabelle zurückgeben. Die Tabelle wird nicht angezeigt, sondern als Eingabe für andere Funktionen bereitgestellt. Sie können z. B. eine Tabelle abrufen und dann die unterschiedlichen Werte darin zählen oder dynamische Summen von gefilterten Tabellen oder Spalten berechnen.

  • Zu den DAX-Funktionen zählen auch verschiedene Zeitintelligenzfunktionen. Mit diesen Funktionen können Sie Datumsbereiche definieren oder auswählen und dynamische Berechnungen durchführen. So können Sie z. B. Summen über parallele Zeiträume vergleichen.

Manchmal ist es schwierig zu erkennen, welche Funktionen in einer Formel verwendet werden sollen. Power Pivot und der Designer für tabellarische Modelle in SQL Server Data Tools enthalten die Funktion "Funktion einfügen". Dieses Dialogfeld unterstützt Sie dabei, Funktionen nach Kategorie auszuwählen, und zeigt eine Kurzbeschreibung für jede Funktion an.

Funktion einfügen

Als Nächstes erstellen wir eine neue Formel, die eine Funktion umfasst, die Sie über "Funktion einfügen" auswählen:

Aufgabe: Hinzufügen einer Funktion zu einer Formel mithilfe von "Funktion einfügen"

  1. Scrollen Sie in der Tabelle "FactSales" zur am weitesten rechts stehenden Spalte, und klicken Sie dann in der Spaltenüberschrift auf "Spalte hinzufügen".

  2. Geben Sie in der Bearbeitungsleiste ein Gleichheitszeichen (=) ein.

  3. Klicken Sie auf die Schaltfläche "Funktion einfügen".  Funktion einfügen  Dadurch wird das Dialogfeld "Funktion einfügen" geöffnet.

  4. Klicken Sie im Dialogfeld "Funktion einfügen" auf das Listenfeld "Kategorie auswählen". Standardmäßig ist "Alle" ausgewählt, wobei alle der Kategorie "Alle" zugehörigen Funktionen darunter aufgeführt sind. Da viele Funktionen angezeigt werden, möchten Sie sie vielleicht filtern, um den gewünschten Funktionstyp einfacher zu finden.

  5. Bei dieser Formel möchten Sie Daten zurückgeben, die bereits in einer anderen Tabelle vorhanden sind. Dazu verwenden Sie eine Funktion aus der Kategorie "Filter". Fahren Sie fort, indem Sie auf die Kategorie "Filter", und dann auf "Funktion auswählen" klicken. Scrollen Sie nach unten, und doppelklicken Sie auf die Funktion RELATED. Klicken Sie auf "OK", um das Dialogfeld "Funktion einfügen" zu schließen.

  6. Verwenden Sie IntelliSense, um die Spalte "DimChannel[ChannelName]" zu suchen und auszuwählen.

  7. Schließen Sie die Formel, und drücken Sie dann die EINGABETASTE.

  8. Nachdem Sie die Formel durch Drücken der EINGABETASTE abgeschlossen haben, wird die Angabe Wird berechnet in der Statusleiste unten im Power Pivot-Fenster angezeigt. Jetzt sehen Sie, dass Sie gerade eine neue Spalte in der Tabelle "FactSales" erstellt haben, die Kanalinformationen aus der Tabelle "DimChannel" enthält.

  9. Benennen Sie die Spalte "Channel" um.

    Die Formel sollte wie folgt aussehen: "= RELATED (DimChannel[ChannelName])"

Sie haben gerade mit der RELATED-Funktion eine weitere sehr wichtige DAX-Funktion kennen gelernt. Die RELATED-Funktion gibt Werte aus einer anderen Tabelle zurück. Sie können die RELATED-Funktion verwenden, wenn eine Beziehung zwischen der Tabelle, in der Sie sich gerade befinden, und der Tabelle besteht, aus der Daten abgerufen werden sollen. Die RELATED-Funktion eröffnet Ihnen natürlich enorme Möglichkeiten. In diesem Fall können Sie jetzt für jede Verkaufstransaktion in der Tabelle "FactSales" den Vertriebskanal einbeziehen. Sie können jetzt die Tabelle "DimChannel" aus der PivotTable-Feldliste ausblenden, um die Navigation zu vereinfachen und nur die wichtigsten Informationen anzuzeigen, die Sie wirklich benötigen. Ähnlich wie die oben beschriebene CALCULATE-Funktion ist die RELATED-Funktion sehr wichtig und wird sicherlich häufig zum Einsatz kommen.

Wie Sie sehen können, erstellen Sie mithilfe von DAX-Funktionen äußerst effiziente Formeln. Die Grundlagen von Funktionen wurde bisher nur am Rande besprochen. Mit zunehmender Erfahrung im Umgang mit DAX werden Sie Formeln unter Verwendung vieler unterschiedlicher Funktionen erstellen. Eine der wertvollsten Quellen mit Informationen über sämtliche DAX-Funktionen stellt die DAX-Referenz (Data Analysis Expressions) dar.

QuickQuiz zu Funktionen

  1. Worauf verweist eine Funktion immer?

  2. Kann eine Formel mehr als eine Funktion enthalten?

  3. Welche Kategorie von Funktionen verwenden Sie, um zwei Textzeichenfolgen in einer Zeichenfolge zu verketten?

Die Antworten finden Sie am Ende dieses Themas.

Kontext

Der Kontext ist eines der wichtigsten DAX-Konzepte. Es gibt zwei Kontexttypen in DAX: den Zeilenkontext und den Filterkontext. Zunächst befassen wir uns mit dem Zeilenkontext.

Zeilenkontext

Den Zeilenkontext können Sie sich als die aktuelle Zeile vorstellen. Erinnern Sie sich an die berechnete Spalte "Margin", die im Rahmen der Erläuterungen zur Syntax am Anfang des Lernprogramms erwähnt wurde? Mit der Formel "= [SalesAmount] - [TotalCost]" wird für jede Zeile in der Tabelle ein Wert in der Spalte "Margin" berechnet. Werte für jede Zeile werden auf der Grundlage von Werten in zwei anderen Spalten berechnet: "[SalesAmount]" und "[TotalCost]" in derselben Zeile. DAX ist in der Lage, die Werte für jede Zeile in der Spalte "Margin" zu berechnen, da der Kontext bekannt ist: Für jede Zeile werden Werte in der Spalte "[TotalCost]" verwendet und von Werten in der Spalte "[SalesAmount]" subtrahiert.

In der unten dargestellten ausgewählten Zelle wurde der Wert $49.54 in der aktuellen Zeile berechnet, indem der Wert $51.54 in der Spalte "[TotalCost]" vom Wert $101.08 in der Spalte "[SalesAmount]" subtrahiert wird.

Zeilenkontext in Power Pivot

Zeilenkontext gilt nur in berechneten Spalten nicht. Zeilenkontext gilt auch, wenn eine Formel eine Funktion, die Filter besitzt, um eine einzelne Zeile in einer Tabelle zu identifizieren gilt. Die Funktion wendet Natur aus einen zeilenkontext für jede, den Zeile der Tabelle für die es filtert. In den meisten Fällen gilt dieser Art von zeilenkontext Maßnahmen.

Filterkontext

Der Filterkontext ist ein wenig schwieriger zu verstehen als der Zeilenkontext. Stellen Sie sich den Filterkontext am besten wie folgt vor: Ein oder mehrere Filter werden auf eine Berechnung angewendet, durch die ein Ergebnis bzw. ein Wert ermittelt wird.

Der Filterkontext tritt nicht an die Stelle des Zeilenkontexts, sondern wird zusätzlich zum Zeilenkontext verwendet. Um die in einer Berechnung zu berücksichtigenden Werte weiter einzugrenzen, können Sie z. B. einen Filterkontext anwenden, durch den nicht nur der Zeilenkontext, sondern auch ein bestimmter Wert (Filter) innerhalb dieses Zeilenkontexts angegeben wird.

Der Filterkontext kommt häufig in PivotTables vor. Wenn Sie dem Bereich "Werte" z. B. "TotalCost" und dann der Zeile oder den Spalten ein Jahr bzw. eine Region hinzufügen, definieren Sie einen Filterkontext, durch den eine Untermenge von Daten auf der Grundlage eines bestimmten Jahres bzw. einer bestimmten Region ausgewählt wird.

Warum ist der Filterkontext zu DAX so wichtig? Da, während der Filterkontext am einfachsten durch Hinzufügen von Spalte und Zeile Etiketten und Slicer in einer PivotTable angewendet werden kann, Filterkontext auch in einer DAX-Formel angewendet werden kann durch Definieren eines Filters mithilfe von Funktionen wie alle, verknüpft, filtern, berechnen, indem Beziehungen und anderen Measures und Spalten. Zum Beispiel wollen wir die folgende Formel in ein Measure namens StoreSales:

Formel

Diese Formel ist eindeutig komplexer als andere bereits besprochene Formeln. Um diese Formel besser zu verstehen, können wir sie jedoch – wie zuvor bereits andere Formeln – zerlegen.

Diese Formel umfasst die folgenden Syntaxelemente:

  1. Der Measurename StoreSales gefolgt von einem Doppelpunkt:.

  2. Den Gleichheitszeichenoperator (=), der den Anfang der Formel angibt.

  3. Die CALCULATE-Funktion, die einen Ausdruck als Argument in einem Kontext auswertet, der von den angegebenen Filtern geändert wird.

  4. Ein oder mehrere Argumente in runden Klammern ().

  5. Ein Measure [Sales] in der gleichen Tabelle als Ausdruck. Das Sales-Measure weist die Formel: = SUM(FactSales[SalesAmount]).

  6. Die einzelnen Filter werden durch ein Komma (,) getrennt.

  7. Die Spalte, auf die verwiesen wird, und der Wert "DimChannel[ChannelName] =”Store”" als Filter.

Mit dieser Formel wird Stellen Sie sicher, dass nur sales Werte durch das Sales-Measure, wie ein Filter definiert nur für Zeilen in der Spalte DimChannel [ChannelName] mit dem Wert "Store" als Filter berechnet werden.

Wie Sie sich vorstellen können, hat das Definieren des Filterkontexts innerhalb einer Formel ein enormes Potenzial. Beispielsweise durch die Fähigkeit, nur auf einen konkreten Wert in einer verknüpften Tabelle zu verweisen. Machen Sie sich keine Sorgen, wenn Sie die Erläuterungen zum Kontext nicht auf Anhieb ganz verstanden haben. Während Sie eigene Formeln erstellen, werden Sie den Begriff "Kontext" und dessen enorme Bedeutung für DAX besser verstehen lernen.

QuickQuiz zu Kontexten

  1. Welche beiden Kontexttypen gibt es?

  2. Was ist der Filterkontext?

  3. Was ist der Zeilenkontext?

Die Antworten finden Sie am Ende dieses Themas.

Zusammenfassung

Jetzt, da Sie eine grundlegende Kenntnisse über die wichtigsten Konzepte in DAX verfügen, können Sie das Erstellen von DAX-Formeln für berechnete Spalten und Measures für Ihre eigenen beginnen. DAX kann tatsächlich um etwas schwierig sein, um zu erfahren, aber es gibt viele Ressourcen zur Verfügung. Nach Durchlesen der in diesem Thema mehrmals, und Experimentieren mit einigen Ihrer eigenen Formeln, Weitere Informationen zu anderen DAX Konzepte und Formeln, die Ihnen helfen können eigene Business-Probleme lösen. Es stehen viele DAX-Ressourcen für Sie in Power Pivot Hilfe, SQL Server-Onlinedokumentation, Whitepapers und Blogs von Microsoft und führende BI-Experten. Der DAX-Ressourcencenter Center-Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) eignet sich zu starten. Der Data Analysis Expressions (DAX) Bezug ist ebenfalls eine gute Ressource. Achten Sie darauf, um es in Ihren Favoriten zu speichern.

Das Whitepaper "DAX in the BI Tabular Model" steht zum Download bereit (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x407) und gewährt Ihnen fundiertere Einblicke in die hier eingeführten Konzepte sowie in viele andere erweiterte Konzepte und Formeln. Dieses Whitepaper basiert ebenfalls auf der Arbeitsmappe "Contoso DAX Sample Formulas.xlsx", die Sie bereits heruntergeladen haben.

QuickQuiz-Antworten

Syntax:

  1. Öffnet die Funktion "Funktion einfügen"

  2. Eckige Klammern []

  3. "=[UnitPrice] - [UnitCost]"

Funktionen:

  1. Eine Tabelle und eine Spalte

  2. Ja. Eine Formel kann bis zu 64 geschachtelte Funktionen enthalten.

  3. Textfunktionen.

Kontext:

  1. Zeilenkontext und Filterkontext

  2. Ein oder mehrere Filter in einer Berechnung, durch die ein einzelner Wert ermittelt wird.

  3. Die aktuelle Zeile

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!

×