Wednesday, October 26, 2022

QuickStart: Lernen Sie die DAX-Grundlagen in 30 Minuten

Dieser QuickStart richtet sich an Benutzer, die neu bei Power Pivot in Excel oder tabellarischen Modellprojekten sind, die in SQL Server Data Tools erstellt wurden. Es soll Ihnen eine schnelle und einfache Einführung in die Verwendung von Data Analysis Expressions (DAX) geben, um eine Reihe grundlegender Datenmodellierungs- und Analyseprobleme zu lösen. Dieses Thema enthält konzeptionelle Informationen, eine Reihe von Aufgaben, die Sie erledigen können, und einige Tests, um das Gelernte zu testen. Nach Abschluss dieses Themas sollten Sie über ein gutes Verständnis der grundlegendsten Grundkonzepte in DAX verfügen.

Was ist DAX?

DAX ist eine Sammlung von Funktionen, Operatoren und Konstanten, die in einer Formel oder einem Ausdruck verwendet werden können, um einen oder mehrere Werte zu berechnen und zurückzugeben. Einfacher ausgedrückt hilft Ihnen DAX dabei, neue Informationen aus Daten zu erstellen, die sich bereits in Ihrem Modell befinden.

Warum ist DAX so wichtig?

Es ist einfach, eine Arbeitsmappe zu erstellen und einige Daten darin zu importieren. Sie können sogar PivotTables oder PivotCharts erstellen, die wichtige Informationen anzeigen, ohne DAX-Formeln zu verwenden. Aber was ist, wenn Sie wichtige Verkaufsdaten über mehrere Produktkategorien und für verschiedene Zeiträume analysieren müssen? Oder Sie müssen wichtige Bestandsdaten aus mehreren Tabellen in unterschiedlichen Datenquellen zusammenführen? DAX-Formeln bieten diese und viele andere wichtige Funktionen. Wenn Sie lernen, wie Sie effektive DAX-Formeln erstellen, können Sie Ihre Daten optimal nutzen. Wenn Sie die benötigten Informationen erhalten, können Sie damit beginnen, echte Geschäftsprobleme zu lösen, die sich auf Ihr Endergebnis auswirken. Das ist Business Intelligence, und DAX hilft Ihnen dabei.

Voraussetzungen

Möglicherweise sind Sie bereits mit dem Erstellen von Formeln in Microsoft Excel vertraut. Dieses Wissen wird beim Verständnis von DAX hilfreich sein, aber selbst wenn Sie keine Erfahrung mit Excel-Formeln haben, helfen Ihnen die hier beschriebenen Konzepte dabei, sofort mit der Erstellung von DAX-Formeln und der Lösung realer BI-Probleme zu beginnen.

Wir werden uns speziell auf das Verständnis der in Berechnungen verwendeten DAX-Formeln konzentrieren. Sie sollten bereits mit den grundlegenden Konzepten von berechneten Spalten und Measures (auch als berechnete Felder bezeichnet) vertraut sein, die beide in der Power Pivot-Hilfe beschrieben werden. Sie sollten auch mit der Power Pivot in der Excel-Erstellungsumgebung und den Tools vertraut sein.

Beispiel Arbeitsbuch

Der beste Weg, DAX zu lernen, besteht darin, einige grundlegende Formeln zu erstellen, sie mit einigen tatsächlichen Daten zu verwenden und die Ergebnisse selbst zu sehen. Die Beispiele und Aufgaben hier verwenden die Arbeitsmappe Contoso Sample DAX Formulas.xlsx. Sie können die Arbeitsmappe unter http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409 herunterladen. Nachdem Sie die Arbeitsmappe auf Ihren Computer heruntergeladen haben, öffnen Sie sie und öffnen Sie dann das Power Pivot-Fenster.

Lass uns anfangen!

Wir werden DAX um drei sehr wichtige Grundkonzepte herum aufbauen: Syntax, Funktionen und Kontext. Natürlich gibt es noch andere wichtige Konzepte in DAX, aber das Verständnis dieser drei Konzepte bietet die beste Grundlage, auf der Sie Ihre DAX-Fähigkeiten aufbauen können.

Syntax

Bevor Sie Ihre eigenen Formeln erstellen, werfen wir einen Blick auf die DAX-Formelsyntax. Die Syntax umfasst die verschiedenen Elemente, aus denen eine Formel besteht, oder einfacher, wie die Formel geschrieben wird. Sehen wir uns beispielsweise eine einfache DAX-Formel an, die verwendet wird, um neue Daten (Werte) für jede Zeile in einer berechneten Spalte mit dem Namen Margin in einer FactSales-Tabelle zu erstellen: (Formeltextfarben dienen nur zur Veranschaulichung)

Berechnete Spaltenformel

Die Syntax dieser Formel umfasst die folgenden Elemente:

  1. Der Gleichheitszeichenoperator (=) gibt den Anfang der Formel an, und wenn diese Formel berechnet wird, gibt sie ein Ergebnis oder einen Wert zurück. Alle Formeln, die einen Wert berechnen, beginnen mit einem Gleichheitszeichen.

  2. Die referenzierte Spalte [SalesAmount] enthält die Werte, von denen wir subtrahieren möchten. Eine Spaltenreferenz in einer Formel wird immer von eckigen Klammern [] eingeschlossen. Im Gegensatz zu Excel-Formeln, die auf eine Zelle verweisen, verweist eine DAX-Formel immer auf eine Spalte.

  3. Der mathematische Subtraktionsoperator (-).

  4. Die referenzierte Spalte [TotalCost] enthält die Werte, die wir von den Werten in der Spalte [SalesAmount] subtrahieren möchten.

Wenn Sie versuchen zu verstehen, wie man eine DAX-Formel liest, ist es oft hilfreich, jedes der Elemente in eine Sprache zu zerlegen, die Sie jeden Tag denken und sprechen. Sie können diese Formel beispielsweise folgendermaßen lesen:

Berechnen Sie (=) in der Tabelle FactSales für jede Zeile in der berechneten Spalte Margin einen Wert (=), indem Sie (-) Werte in der Spalte [ TotalCost ] von Werten in der Spalte [ SalesAmount ] subtrahieren.

Sehen wir uns einen anderen Formeltyp an, der in einer Kennzahl verwendet wird:

Berechnete Spaltenformel

Diese Formel enthält die folgenden Syntaxelemente:

  1. Der Kennzahlname „Summe des Verkaufsbetrags". Formeln für Kennzahlen können den Kennzahlennamen enthalten, gefolgt von einem Doppelpunkt, gefolgt von der Berechnungsformel.

  2. Der Gleichheitszeichen-Operator (=) gibt den Beginn der Berechnungsformel an. Bei der Berechnung wird ein Ergebnis zurückgegeben.

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

  4. Klammern () umschließen ein oder mehrere Argumente. Alle Funktionen benötigen mindestens ein Argument. Ein Argument übergibt einen Wert an eine Funktion.

  5. Die referenzierte Tabelle FactSales.

  6. Die referenzierte Spalte [SalesAmount] in der FactSales-Tabelle. Mit diesem Argument weiß die SUM-Funktion, in welcher Spalte eine SUM aggregiert werden soll.

Sie können diese Formel lesen als:

Berechnen Sie (=) für die Kennzahl Sum of Sales Amount die SUM der Werte in der Spalte [ SalesAmount ] in der Tabelle FactSales .

Wenn diese Kennzahl in der Dropzone Werte in einer PivotTable-Feldliste platziert wird, berechnet und gibt diese Kennzahl Werte zurück, die von jeder Zelle in der PivotTable definiert werden, z. B. Mobiltelefone in den USA.

Beachten Sie, dass sich diese Formel in einigen Punkten von der Formel unterscheidet, die wir für die berechnete Spalte „Marge" verwendet haben. Insbesondere haben wir eine Funktion SUM eingeführt. Funktionen sind vorgefertigte Formeln, die komplexe Berechnungen und Manipulationen mit Zahlen, Datumsangaben, Uhrzeit, Text und mehr erleichtern. Sie werden später mehr über Funktionen erfahren.

Anders als bei der zuvor berechneten Spalte „Marge" sehen Sie, dass der Spalte [SalesAmount] die Tabelle „FactSales" vorangestellt wurde, zu der die Spalte gehört. Dies wird als vollständig qualifizierter Spaltenname bezeichnet, da er den Spaltennamen enthält, dem der Tabellenname vorangestellt ist. Bei Spalten, auf die in derselben Tabelle verwiesen wird, muss der Tabellenname nicht in die Formel aufgenommen werden. Dadurch können lange Formeln, die auf viele Spalten verweisen, kürzer und besser lesbar werden. Es empfiehlt sich jedoch, den Tabellennamen immer in Ihre Kennzahlformeln aufzunehmen, auch wenn er sich in derselben Tabelle befindet.

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 Tabellennamen auch in Anführungszeichen setzen, wenn der Name Zeichen außerhalb des alphanumerischen ANSI-Zeichenbereichs enthält, unabhängig davon, ob Ihr Gebietsschema den Zeichensatz unterstützt oder nicht.

Es ist sehr wichtig, dass Ihre Formeln die richtige Syntax haben. Wenn die Syntax nicht korrekt ist, wird in den meisten Fällen ein Syntaxfehler zurückgegeben. In anderen Fällen ist die Syntax möglicherweise korrekt, aber die zurückgegebenen Werte entsprechen möglicherweise nicht Ihren Erwartungen. Power Pivot (und SQL Server Data Tools) enthalten IntelliSense; eine Funktion zum Erstellen syntaktisch korrekter Formeln, die Ihnen hilft, die richtigen Elemente auszuwählen.

Lassen Sie uns eine einfache Formel erstellen. Diese Aufgabe hilft Ihnen dabei, die Formelsyntax besser zu verstehen und wie Ihnen die IntelliSense-Funktion in der Formelleiste helfen kann.

Aufgabe: Erstellen Sie eine einfache Formel für eine berechnete Spalte

  1. Wenn Sie sich noch nicht im Power Pivot-Fenster befinden, klicken Sie in Excel im Power Pivot-Menüband auf Power Pivot- Fenster .

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

  3. Scrollen Sie zur Spalte ganz rechts und klicken Sie dann in der Spaltenüberschrift auf Spalte hinzufügen .

  4. Klicken Sie in die Bearbeitungsleiste am oberen Rand des Modelldesignerfensters.

    Power Pivot Formelleiste

    Ihr Cursor erscheint nun in der Bearbeitungsleiste. In der Formelleiste können Sie eine Formel für eine berechnete Spalte oder ein berechnetes Feld eingeben.

    Nehmen wir uns einen Moment Zeit, um uns die drei Schaltflächen links neben der Bearbeitungsleiste anzusehen.

    Formelleiste

    Wenn der Cursor in der Bearbeitungsleiste aktiv ist, werden diese drei Schaltflächen aktiv. Die Schaltfläche ganz links, das X , ist einfach eine Schaltfläche zum Abbrechen. Gehen Sie voran und klicken Sie darauf. Ihr Cursor wird nicht mehr in der Bearbeitungsleiste angezeigt, und die Abbrechen-Schaltfläche und die Häkchen-Schaltfläche werden nicht mehr angezeigt. Fahren Sie fort und klicken Sie erneut in die Bearbeitungsleiste. Die Abbrechen-Schaltfläche und die Häkchen-Schaltfläche werden jetzt wieder angezeigt. Das bedeutet, dass Sie bereit sind, mit der Eingabe einer Formel zu beginnen.

    Die Schaltfläche mit dem Häkchen ist die Schaltfläche zum Überprüfen der Formel. Es macht nicht viel, bis Sie eine Formel eingegeben haben. Wir werden gleich darauf zurückkommen.

    Klicken Sie auf die Fx- Schaltfläche. Sie werden sehen, dass ein neues Dialogfeld erscheint; das Dialogfeld Funktion einfügen. Das Dialogfeld Funktion einfügen ist der einfachste Weg, um mit der Eingabe einer DAX-Formel zu beginnen. Wir werden einer Formel eine Funktion hinzufügen, wenn wir etwas später eine Kennzahl erstellen, aber im Moment müssen Sie Ihrer berechneten Spaltenformel keine Funktion hinzufügen. Fahren Sie fort und schließen Sie das Dialogfeld Funktion einfügen.

  5. Geben Sie in der Bearbeitungsleiste ein Gleichheitszeichen = und dann eine öffnende Klammer [ ein. Sie werden sehen, dass ein kleines Fenster mit allen Spalten in der FactSales-Tabelle erscheint. Das ist IntelliSense in Aktion.

    Da berechnete Spalten immer in der aktiven Tabelle erstellt werden, in der Sie sich befinden, muss dem Spaltennamen nicht der Tabellenname vorangestellt werden. Fahren Sie fort und scrollen Sie nach unten und doppelklicken Sie dann auf [SalesQuantity]. Sie können auch zum gewünschten Spaltennamen blättern und dann die Tabulatortaste drücken.

    Ihr Cursor ist jetzt rechts neben [ SalesQuantity ] aktiv.

  6. Geben Sie ein Leerzeichen ein, und geben Sie dann einen Subtraktionsoperator ein - (ein Minuszeichen), und geben Sie dann ein weiteres Leerzeichen ein.

  7. Geben Sie nun eine weitere öffnende Klammer [. Wählen Sie dieses Mal die Spalte [ ReturnQuantity ] aus und drücken Sie dann die Eingabetaste.

    Wenn Sie einen Fehler erhalten, sehen Sie sich Ihre Syntax genau an. Vergleichen Sie sie ggf. mit der Formel in der zuvor beschriebenen Spalte Berechnete Marge.

    Nachdem Sie die EINGABETASTE gedrückt haben, um die Formel abzuschließen, wird das Wort Berechnung in der Statusleiste am unteren Rand des Power Pivot-Fensters angezeigt. Es geht schnell, obwohl Sie gerade neue Werte für mehr als drei Millionen Zeilen berechnet haben.

  8. Klicken Sie mit der rechten Maustaste auf die Spaltenüberschrift und benennen Sie die Spalte in NetSales um.

Das ist es! Sie haben gerade eine einfache, aber sehr leistungsstarke DAX-Formel erstellt. Für jede Zeile in der FactSales-Tabelle berechnet die NetSales-Formel einen Wert, indem der Wert in der Spalte [ReturnQuantity] vom Wert in der Spalte [SalesQuantity] subtrahiert wird. Beachten Sie, wie wir gerade „Für jede Zeile" gesagt haben. Dies ist ein Einblick in ein weiteres sehr wichtiges Konzept im DAX; Zeilenkontext. Sie werden später mehr über den Zeilenkontext erfahren.

Etwas wirklich Wichtiges, das Sie verstehen müssen, wenn Sie einen Operator in eine DAX-Formel eingeben, ist der Datentyp in den von Ihnen verwendeten Argumenten. Wenn Sie beispielsweise die folgende Formel = 1 & 2 eingeben würden, wäre der zurückgegebene Wert ein Textwert von „12". Dies liegt daran, dass der kaufmännische Und-Operator (&) für die Textverkettung vorgesehen ist. DAX interpretiert diese Formel folgendermaßen: Berechnen Sie ein Ergebnis, indem Sie den Wert 1 als Text nehmen und den Wert 2 als Text hinzufügen. Wenn Sie jetzt = 1 + 2 eingeben, liest DAX diese Formel wie folgt: Berechnen Sie ein Ergebnis, indem Sie den numerischen Wert 1 nehmen und den numerischen Wert 2 addieren. Das Ergebnis ist natürlich „3", ein numerischer Wert. DAX berechnet resultierende Werte abhängig vom Operator in der Formel, nicht basierend auf dem Datentyp der im Argument verwendeten Spalten. Datentypen in DAX sind sehr wichtig, aber nicht Gegenstand dieses Quick Starts. Weitere Informationen zu Datentypen und Operatoren in DAX-Formeln finden Sie in der DAX-Referenz (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) in der Onlinedokumentation.

Versuchen wir es mit einem anderen. Dieses Mal erstellen Sie eine Kennzahl, indem Sie die Formel eingeben und IntelliSense verwenden. Machen Sie sich keine Sorgen, wenn Sie die Formel nicht vollständig verstehen. Das Wichtigste hier ist zu lernen, wie man eine Formel erstellt, indem man mehrere Elemente zusammen in korrekter Syntax verwendet.

Aufgabe: Erstellen Sie eine Maßformel

  1. Klicken Sie in der Tabelle FactSales in eine beliebige leere Zelle im Berechnungsbereich. Dies ist der Bereich leerer Zellen direkt unter einer Tabelle im Power Pivot-Fenster.

PowerPivot-Berechnungsbereich

  1. Geben Sie in der Bearbeitungsleiste den Namen Umsatz des vorherigen Quartals: ein.

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

  3. Geben Sie die ersten paar Buchstaben CAL ein und doppelklicken Sie dann auf die Funktion, die Sie verwenden möchten. In dieser Formel möchten Sie die CALCULATE- Funktion verwenden.

  4. Geben Sie eine öffnende Klammer ( ein, um die Argumente zu beginnen, die an die CALCULATE-Funktion übergeben werden sollen.

    Beachten Sie, dass IntelliSense nach Eingabe der öffnenden Klammer die für die CALCULATE-Funktion erforderlichen Argumente anzeigt. Du wirst gleich etwas über Argumente lernen.

  5. Geben Sie die ersten paar Buchstaben der FactSales- Tabelle ein und doppelklicken Sie dann in der Dropdown-Liste auf FactSales [ Sales] .

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

    Nach Auswahl der Funktion PREVIOUSQUARTER erscheint eine weitere öffnende Klammer, die anzeigt, dass ein weiteres Argument erforderlich ist; dieses Mal für die Funktion PREVIOUSQUARTER.

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

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

    Ihre Formel sollte nun so aussehen:

    Verkäufe des vorherigen Quartals:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Klicken Sie in der Formelleiste auf die Schaltfläche Formel prüfen, um die Formel zu validieren. Wenn Sie einen Fehler erhalten, überprüfen Sie jedes Element der Syntax.

Du hast es geschafft! Sie haben gerade eine Kennzahl mit DAX erstellt, und das ist gar nicht so einfach. Diese Formel berechnet den Gesamtumsatz für das vorherige Quartal, abhängig von den in einer PivotTable oder PivotChart angewendeten Filtern.

Sie wurden gerade in einige wichtige Aspekte der DAX-Formeln eingeführt. Erstens enthielt diese Formel zwei Funktionen. Beachten Sie, dass die Funktion PREVIOUSQUARTER als Argument verschachtelt ist, das an die Funktion CALCULATE übergeben wird. DAX-Formeln können bis zu 64 verschachtelte Funktionen enthalten. Es ist unwahrscheinlich, dass eine Formel jemals so viele verschachtelte Funktionen enthält. Tatsächlich wäre es sehr schwierig, eine solche Formel zu erstellen und zu debuggen, und sie wäre wahrscheinlich auch nicht sehr schnell.

In dieser Formel haben Sie auch Filter verwendet. Filter grenzen ein, was berechnet wird. In diesem Fall haben Sie einen Filter als Argument ausgewählt, der eigentlich eine andere Funktion ist. Sie werden später mehr über Filter erfahren.

Schließlich haben Sie die CALCULATE-Funktion verwendet. Dies ist eine der mächtigsten Funktionen in DAX. Wenn Sie Datenmodelle erstellen und komplexere Formeln erstellen, werden Sie diese Funktion wahrscheinlich viele Male verwenden. Die Erörterung der CALCULATE-Funktion würde den Rahmen dieses Schnellstarts sprengen, aber wenn Ihr Wissen über DAX wächst, sollten Sie dieser hier besondere Aufmerksamkeit widmen.

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

Zusätzliches Guthaben

Sie fragen sich vielleicht: „Was ist die einfachste DAX-Formel, die ich erstellen kann?" Nun, die Antwort darauf ist "die Formel, die Sie nicht müssen". Und genau das können Sie tun, indem Sie eine standardmäßige Aggregationsfunktion in einer Kennzahl verwenden. Nahezu jedes Datenmodell muss aggregierte Daten filtern und berechnen. Beispielsweise wird die SUM-Funktion in der zuvor gesehenen Kennzahl „Summe des Verkaufsbetrags" verwendet, um alle Zahlen in einer bestimmten Spalte zu addieren. DAX enthält mehrere andere Funktionen, die ebenfalls Werte aggregieren. Sie können Formeln mithilfe von Standardaggregationen automatisch erstellen, indem Sie die AutoSum-Funktion verwenden.

Extra-Credit-Aufgabe: Erstellen Sie eine Messformel mithilfe der AutoSum-Funktion

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

  2. Klicken Sie auf der Registerkarte Start im Menüband in der Gruppe Berechnungen auf die Schaltfläche AutoSumme .

AutoSumme in Power Pivot

Klicken Sie auf den Abwärtspfeil neben AutoSum und dann auf Durchschnitt (beachten Sie die anderen Standardaggregationsfunktionen, die Sie ebenfalls verwenden können).

Sofort wird eine neue Kennzahl mit dem Namen Average of ReturnQuantity erstellt: gefolgt von der Formel =AVERAGE([ReturnQuantity]).

War das nicht so einfach? Natürlich werden nicht alle Formeln, die Sie erstellen, so einfach sein. Mit der AutoSumme-Funktion können Sie jedoch schnell und einfach Formeln erstellen, indem Sie standardmäßige Aggregationsberechnungen verwenden.

Dies sollte Ihnen ein ziemlich gutes Verständnis der in DAX-Formeln verwendeten Syntax vermitteln. Außerdem wurden Ihnen einige wirklich coole Funktionen wie IntelliSense und AutoSum vorgestellt, mit denen Sie schnell, einfach und genaue Formeln erstellen können. Natürlich gibt es noch viel mehr über Syntax zu lernen. Ein guter Ort, um mehr zu erfahren, ist die DAX-Referenz oder SQL Books Online.

Syntax QuickQuiz

  1. Was macht diese Schaltfläche in der Bearbeitungsleiste?
    Funktionstaste

  2. Was umgibt immer einen Spaltennamen in einer DAX-Formel?

  3. Wie würden Sie eine Formel für Folgendes schreiben:
    Berechnen Sie in der DimProduct- Tabelle für jede Zeile in der berechneten Spalte „UnitMargin" einen Wert, indem Sie die Werte in der Spalte „ UnitCost" von den Werten in der SpalteUnitPrice " subtrahieren.

Antworten finden Sie am Ende dieses Themas.

Funktionen

Funktionen sind vordefinierte Formeln, die Berechnungen ausführen, indem sie bestimmte Werte, sogenannte Argumente, in einer bestimmten Reihenfolge oder Struktur verwenden. Argumente können andere Funktionen, eine andere Formel, Spaltenreferenzen, Zahlen, Text, logische Werte wie TRUE oder FALSE oder Konstanten sein.

DAX umfasst die folgenden Kategorien von Funktionen: Datum und Uhrzeit, Informationen, logische, mathematische, statistische, Text- und Zeitintelligenzfunktionen. Wenn Sie mit Funktionen in Excel-Formeln vertraut sind, werden Ihnen viele der Funktionen in DAX ähnlich erscheinen; DAX-Funktionen sind jedoch in folgender Hinsicht einzigartig:

  • Eine DAX-Funktion referenziert immer eine komplette 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.

  • Wenn Sie Berechnungen zeilenweise anpassen müssen, bietet DAX Funktionen, mit denen Sie den aktuellen Zeilenwert oder einen verwandten Wert als eine Art Argument verwenden können, um Berechnungen durchzuführen, die je nach Kontext variieren. Sie werden später mehr über den Kontext erfahren.

  • DAX enthält viele Funktionen, die eher eine Tabelle als einen Wert zurückgeben. Die Tabelle wird nicht angezeigt, dient aber zur Bereitstellung von Eingaben für andere Funktionen. Sie können beispielsweise eine Tabelle abrufen und dann die unterschiedlichen Werte darin zählen oder dynamische Summen über gefilterte Tabellen oder Spalten berechnen.

  • DAX enthält eine Vielzahl von Zeitintelligenzfunktionen. Mit diesen Funktionen können Sie Datumsbereiche definieren oder auswählen und darauf basierend dynamische Berechnungen durchführen. Beispielsweise können Sie Summen über parallele Perioden hinweg vergleichen.

Manchmal ist es schwierig zu wissen, welche Funktionen Sie möglicherweise in einer Formel verwenden müssen. Power Pivot und der Designer für tabellarische Modelle in SQL Server Data Tools enthalten die Funktion „Funktion einfügen", ein Dialogfeld, das Ihnen hilft, Funktionen nach Kategorie auszuwählen, und kurze Beschreibungen für jede Funktion bereitstellt.

Funktion einfügen

Lassen Sie uns eine neue Formel erstellen, die eine Funktion enthält, die Sie mithilfe der Funktion Funktion einfügen auswählen:

Aufgabe: Fügen Sie einer Formel eine Funktion hinzu, indem Sie Funktion einfügen verwenden

  1. Scrollen Sie in der Tabelle FactSales zur Spalte ganz rechts 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, und alle Funktionen in der Kategorie „ Alle " sind unten aufgelistet. Das sind viele Funktionen, daher sollten Sie die Funktionen filtern, um das Auffinden des gesuchten Funktionstyps zu erleichtern.

  5. Für diese Formel möchten Sie einige Daten zurückgeben, die bereits in einer anderen Tabelle vorhanden sind. Dazu verwenden Sie eine Funktion in der Kategorie Filter. Fahren Sie fort und klicken Sie auf die Kategorie Filter , scrollen Sie dann unter Funktion auswählen nach unten und doppelklicken Sie auf die VERWANDTE Funktion. Klicken Sie auf OK, um das Dialogfeld Funktion einfügen zu schließen.

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

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

  8. Nachdem Sie die EINGABETASTE gedrückt haben, um die Formel abzuschließen, wird das Wort Berechnung in der Statusleiste am unteren Rand des Power Pivot-Fensters angezeigt. Jetzt sehen Sie, dass Sie gerade eine neue Spalte in der FactSales-Tabelle mit Kanalinformationen aus der DimChannel-Tabelle erstellt haben.

  9. Benennen Sie die Spalte Kanal um.

    Ihre Formel sollte so aussehen: =RELATED(DimChannel[ChannelName])

Sie haben gerade eine weitere sehr wichtige Funktion in DAX kennengelernt, die RELATED- Funktion. Die RELATED-Funktion gibt Werte aus einer anderen Tabelle zurück. Sie können RELATED verwenden, vorausgesetzt, es besteht eine Beziehung zwischen der Tabelle, in der Sie sich gerade befinden, und der Tabelle, die die gewünschten Werte enthält. Natürlich hat die RELATED-Funktion immense Möglichkeiten. In diesem Fall können Sie jetzt den Verkaufskanal für jeden Verkauf in die Tabelle FactSales aufnehmen. Sie können jetzt die DimChannel-Tabelle aus der PivotTable-Feldliste ausblenden, was die Navigation erleichtert und nur die wichtigsten Informationen anzeigt, die Sie wirklich benötigen. Ähnlich wie die zuvor beschriebene CALCULATE-Funktion ist die RELATED-Funktion sehr wichtig, und Sie werden sie wahrscheinlich viele Male verwenden.

Wie Sie sehen können, können Ihnen Funktionen in DAX dabei helfen, sehr leistungsfähige Formeln zu erstellen. Wir haben wirklich nur die Grundlagen der Funktionen berührt. Wenn sich Ihre DAX-Kenntnisse verbessern, werden Sie Formeln mit vielen verschiedenen Funktionen erstellen. Einer der besten Orte, um Details zu allen DAX-Funktionen zu erfahren, ist die Data Analysis Expressions (DAX) Reference .

Funktionen QuickQuiz

  1. Worauf bezieht sich eine Funktion immer?

  2. Kann eine Formel mehr als eine Funktion enthalten?

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

Antworten finden Sie am Ende dieses Themas.

Kontext

Der Kontext ist eines der wichtigsten DAX-Konzepte, das es zu verstehen gilt. Es gibt zwei Arten von Kontext in DAX; Zeilenkontext und Filterkontext. Wir werden uns zuerst den Zeilenkontext ansehen.

Zeilenkontext

Den Zeilenkontext stellt man sich am einfachsten als die aktuelle Zeile vor. Erinnern Sie sich zum Beispiel an die berechnete Margin-Spalte, die Sie zuvor gesehen haben, als Sie etwas über Syntax gelernt haben? Die Formel =[SalesAmount] - [TotalCost] berechnet einen Wert in der Margin-Spalte für jede Zeile in der Tabelle. Die Werte für jede Zeile werden aus Werten in zwei anderen Spalten berechnet, [SalesAmount] und [TotalCost] in derselben Zeile. DAX kann die Werte für jede Zeile in der Margin-Spalte berechnen, da es den Kontext hat: Für jede Zeile nimmt es Werte in der Spalte [TotalCost] und subtrahiert sie von den Werten in der Spalte [SalesAmount].

In der unten gezeigten 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 wurde.

Reihenwettbewerb in Power Pivot

Der Zeilenkontext gilt nicht nur für berechnete Spalten. Der Zeilenkontext gilt auch, wenn eine Formel über eine Funktion verfügt, die Filter anwendet, um eine einzelne Zeile in einer Tabelle zu identifizieren. Die Funktion wendet von Natur aus einen Zeilenkontext auf jede Zeile der Tabelle an, die sie filtert. Diese Art von Zeilenkontext gilt am häufigsten für Kennzahlen.

Kontext filtern

Der Filterkontext ist etwas schwieriger zu verstehen als der Zeilenkontext. Sie können sich den Filterkontext am einfachsten wie folgt vorstellen: Ein oder mehrere Filter, die in einer Berechnung angewendet werden, die ein Ergebnis oder einen Wert bestimmt.

Filterkontext existiert nicht anstelle von Zeilenkontext; vielmehr gilt es zusätzlich zum Zeilenkontext. Um beispielsweise die in eine Berechnung aufzunehmenden Werte weiter einzugrenzen, können Sie einen Filterkontext anwenden, der nicht nur den Zeilenkontext angibt, sondern auch nur einen bestimmten Wert (Filter) in diesem Zeilenkontext angibt.

Der Filterkontext ist in PivotTables leicht ersichtlich. Wenn Sie beispielsweise TotalCost zum Bereich Values ​​und dann Year und Region zur Row oder Columns hinzufügen, definieren Sie einen Filterkontext, der eine Teilmenge von Daten basierend auf einem bestimmten Jahr und einer bestimmten Region auswählt.

Warum ist der Filterkontext für DAX so wichtig? Denn während der Filterkontext am einfachsten angewendet werden kann, indem Spalten- und Zeilenbeschriftungen und Datenschnitte in einer PivotTable hinzugefügt werden, kann der Filterkontext auch in einer DAX-Formel angewendet werden, indem ein Filter mithilfe von Funktionen wie ALL, RELATED, FILTER, CALCULATE nach Beziehungen definiert wird , und durch andere Maßnahmen und Spalten. Sehen wir uns beispielsweise die folgende Formel in einer Kennzahl mit dem Namen StoreSales an:

Formel

Diese Formel ist eindeutig komplexer als einige der anderen Formeln, die Sie gesehen haben. Um diese Formel jedoch besser zu verstehen, können wir sie aufschlüsseln, ähnlich wie wir es mit anderen Formeln getan haben.

Diese Formel enthält die folgenden Syntaxelemente:

  1. Der Kennzahlname StoreSales, gefolgt von einem Doppelpunkt :.

  2. Der Gleichheitszeichenoperator (=) gibt den Anfang der Formel an.

  3. Die CALCULATE-Funktion wertet einen Ausdruck als Argument in einem Kontext aus, der durch die angegebenen Filter geändert wird.

  4. Klammern () umschließen ein oder mehrere Argumente.

  5. Eine Kennzahl [Sales] in derselben Tabelle wie ein Ausdruck. Die Sales-Kennzahl hat die Formel: =SUM(FactSales[SalesAmount]).

  6. Ein Komma (,) trennt jeden Filter.

  7. Die referenzierte Spalte und ein bestimmter Wert, DimChannel[ChannelName] ="Store", als Filter.

Diese Formel stellt sicher, dass nur Verkaufswerte, die durch das Sales-Measure als Filter definiert sind, nur für Zeilen in der DimChannel[ChannelName]-Spalte mit dem Wert „Store" als Filter berechnet werden.

Wie Sie sich vorstellen können, hat die Definition des Filterkontexts innerhalb einer Formel immense und mächtige Möglichkeiten. Nur auf einen bestimmten Wert in einer verknüpften Tabelle verweisen zu können, ist nur ein Beispiel dafür. Machen Sie sich keine Sorgen, wenn Sie den Kontext nicht sofort vollständig verstehen. Wenn Sie Ihre eigenen Formeln erstellen, werden Sie den Kontext besser verstehen und wissen, warum er in DAX so wichtig ist.

Kontext QuickQuiz

  1. Welche zwei Arten von Kontext gibt es?

  2. Was ist Filterkontext?

  3. Was ist Zeilenkontext?

Antworten finden Sie am Ende dieses Themas.

Zusammenfassung

Nachdem Sie nun ein grundlegendes Verständnis der wichtigsten Konzepte in DAX haben, können Sie damit beginnen, DAX-Formeln für berechnete Spalten und Kennzahlen selbst zu erstellen. DAX kann in der Tat etwas schwierig zu erlernen sein, aber es stehen Ihnen viele Ressourcen zur Verfügung. Nachdem Sie dieses Thema einige Male durchgelesen und mit einigen Ihrer eigenen Formeln experimentiert haben, können Sie mehr über andere DAX-Konzepte und -Formeln erfahren, die Ihnen beim Lösen Ihrer eigenen Geschäftsprobleme helfen können. In der Power Pivot-Hilfe, der SQL Server-Onlinedokumentation, Whitepapers und Blogs von Microsoft und führenden BI-Experten stehen Ihnen viele DAX-Ressourcen zur Verfügung. Das Wiki des DAX-Ressourcenzentrums (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) ist ein guter Ausgangspunkt. Die Data Analysis Expressions (DAX) Reference ist ebenfalls eine großartige Ressource. Achten Sie darauf, es in Ihren Favoriten zu speichern.

Das zum Download verfügbare Whitepaper „DAX im tabellarischen BI-Modell" (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) bietet einen detaillierteren Einblick in die hier vorgestellten Konzepte sowie viele andere erweiterte Konzepte und Formeln. Dieses Whitepaper verwendet auch dieselbe Contoso-DAX-Beispielformeln.xlsx-Arbeitsmappe, die Sie bereits haben.

QuickQuiz-Antworten

Syntax:

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

  2. Klammern [].

  3. =[Preis pro Einheit] - [Kosten pro Einheit]

Funktionen:

  1. Eine Tabelle und eine Spalte.

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

  3. Textfunktionen .

Kontext:

  1. Zeilenkontext und Filterkontext.

  2. Ein oder mehrere Filter in einer Berechnung, die einen einzelnen Wert bestimmt.

  3. Die aktuelle Zeile.

No comments:

Post a Comment