Das ultimative DAX-Handbuch
eBook - ePub

Das ultimative DAX-Handbuch

Business Intelligence mit Microsoft Power BI, SQL Server Analysis Services und Excel

Marco Russo, Alberto Ferrari, Christian Alkemper

Share book
  1. 814 pages
  2. German
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Das ultimative DAX-Handbuch

Business Intelligence mit Microsoft Power BI, SQL Server Analysis Services und Excel

Marco Russo, Alberto Ferrari, Christian Alkemper

Book details
Book preview
Table of contents
Citations

About This Book

Die DAX-Referenz von den DAX-KoryphÀen

  • Meistern Sie die Formelsprache von Power Pivot, Power BI und Microsoft Analysis Services.
  • Mit vielen praxisnahen Beispielen fĂŒr den praktischen Einsatz
  • inkl. kostenlosem Zusatzmaterial wie einer Beispieldatenbank und Power BI-Modellen fĂŒr alle Beispiele

Die bekannten DAX-Experten Marco Russo und Alberto Ferrari fĂŒhren Sie mit diesem Leitfaden tief in die Formelsprache DAX (Data Analysis Expressions) ein und helfen Ihnen dabei, alles von einfachen Tabellenfunktionen bis zu komplexer Code- und Modelloptimierung zu beherrschen. Erfahren Sie genau, was unter der Haube passiert, wenn Sie einen DAX-Ausdruck ausfĂŒhren, und nutzen Sie dieses Wissen, um schnelle, robuste Codes zu schreiben.

Diese Ausgabe konzentriert sich auf Beispiele, die Sie mit der kostenlosen Power BI Desktop-Version erstellen und ausfĂŒhren können, und hilft Ihnen, die leistungsstarke Syntax von Variablen (VAR) in Power BI, Excel oder Analysis Services optimal zu nutzen.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Das ultimative DAX-Handbuch an online PDF/ePUB?
Yes, you can access Das ultimative DAX-Handbuch by Marco Russo, Alberto Ferrari, Christian Alkemper in PDF and/or ePUB format, as well as other popular books in Informatique & Programmation Microsoft. We have over one million books available in our catalogue for you to explore.

Information

Publisher
dpunkt.verlag
Year
2020
ISBN
9783969100196

KAPITEL 1

Was ist DAX?

DAX (Data Analysis eXpressions) ist die Programmiersprache von Microsoft Power BI, Microsoft Analysis Services und Microsoft Power Pivot fĂŒr Excel. Sie wurde 2010 mit der ersten Version von PowerPivot fĂŒr Microsoft Excel 2010 entwickelt. Im Jahr 2010 wurde PowerPivot noch ohne Leerzeichen geschrieben; das wurde erst 2013 eingefĂŒhrt, als das Add-In in »Power Pivot« umbenannt wurde. Seitdem hat DAX erheblich an PopularitĂ€t gewonnen, und zwar sowohl in der Excel-Community, die mit DAX Power-Pivot-Datenmodelle in Excel erstellt, als auch unter den BI-JĂŒngern (Business Intelligence), die mit der Sprache Modelle fĂŒr Power BI und Analysis Services erstellen. DAX ist in vielen verschiedenen Tools enthalten, die alle auf derselben internen Engine namens Tabular basieren. Deswegen ist oft auch von tabellarischen Modellen die Rede – dieser Begriff fasst die vielen verschiedenen Tools unter einer einzigen Bezeichnung zusammen.
DAX ist eine einfache Sprache. Allerdings unterscheidet es sich von den meisten anderen Programmiersprachen, weswegen es etwas Zeit in Anspruch nehmen kann, sich mit einigen der eher ungewöhnlichen Konzepte vertraut zu machen. Die Grundlagen von DAX sind recht einfach zu erlernen und können innerhalb weniger Stunden eingesetzt werden – so zumindest unsere Erfahrung, die allerdings auf der Vermittlung entsprechender Kenntnisse an mehrere Tausend Menschen fußt. Geht es dann aber an die fortgeschrittenen Konzepte – wie etwa Auswertungskontexte, Iterationen und KontextĂŒbergĂ€nge –, dann scheint mit einem Mal alles ziemlich kompliziert zu werden. Jetzt heißt es, nicht aufzugeben. Bleiben Sie am Ball. Haben Sie diese Konzepte erst einmal verinnerlicht, dann werden Sie feststellen, dass DAX tatsĂ€chlich eine einfache Sprache ist. Es braucht nur etwas Zeit, um sich daran zu gewöhnen.
Am Anfang dieses ersten Kapitels finden Sie eine Zusammenfassung dessen, was ein Datenmodell in Bezug auf Tabellen und Beziehungen ist. Wir empfehlen Lesern jeglichen Erfahrungsniveaus, diesen Abschnitt zu lesen, um mit den Begriffen vertraut zu werden, die im gesamten Buch zur Beschreibung von Tabellen, Modellen und Beziehungen diverser Art verwendet werden.
In den darauf folgenden Abschnitten finden Leser, die bereits Erfahrungen mit Programmiersprachen wie Microsoft Excel, SQL und MDX gesammelt haben, Tipps fĂŒr den Einstieg. Jeder Abschnitt befasst sich schwerpunktmĂ€ĂŸig mit einer bestimmten Sprache, damit neugierige Leser direkt einen Vergleich mit DAX ziehen können. Wenn Sie meinen, dass solche Vergleiche fĂŒr Sie hilfreich sind, dann lesen Sie die Abschnitte zu denjenigen Sprachen, die Sie kennen. Danach lesen Sie zum Abschluss den letzten Abschnitt »DAX fĂŒr Power BI-Benutzer« und fahren Sie dann mit dem nĂ€chsten Kapitel fort, wo wir endlich richtig in DAX einsteigen werden.

Das Datenmodell verstehen

DAX wurde speziell entwickelt, um geschĂ€ftliche Formeln bezogen auf ein Datenmodell zu berechnen. Der eine oder andere Leser weiß vielleicht schon, was ein Datenmodell ist. FĂŒr den Fall, dass das nicht so ist, stellen wir eine Beschreibung von Datenmodellen und Beziehungen an den Anfang, um eine Grundlage fĂŒr den Wissensaufbau zu DAX zu schaffen.
Ein Datenmodell ist eine Anzahl von Tabellen, die durch Beziehungen miteinander verbunden sind.
Wir alle wissen, was eine Tabelle ist: eine Struktur aus Zeilen mit Daten, wobei alle Zeilen ihrerseits in Spalten unterteilt sind. Jede Spalte hat einen Datentyp und enthÀlt genau eine Information. Meistens bezeichnen wir eine Tabellenzeile als Datensatz. Tabellen stellen eine praktische Möglichkeit dar, Daten zu organisieren. Dabei ist eine Tabelle selbst ein Datenmodell, wenn auch in seiner einfachsten Form. Wenn wir also Namen und Zahlen in eine Excel-Arbeitsmappe schreiben, erstellen wir eigentlich schon ein Datenmodell.
EnthĂ€lt ein Datenmodell viele Tabellen, dann ist die Wahrscheinlichkeit hoch, dass diese durch Beziehungen miteinander verbunden sind. Eine Beziehung ist also eine Verbindung zwischen zwei Tabellen. Stehen zwei Tabellen in einer Beziehung, dann sprechen wir auch von verknĂŒpften Tabellen. Grafisch betrachtet wird eine Beziehung durch eine Linie dargestellt, die die beiden Tabellen verbindet. Abbildung 1.1 zeigt exemplarisch ein Datenmodell.
image
Abbildung 1.1Dieses Datenmodell besteht aus sechs Tabellen.
Nachfolgend sind einige wichtige Aspekte von Beziehungen aufgefĂŒhrt:
  • Zwei Tabellen in einer Beziehung spielen nicht die gleiche Rolle. Tabellen können entweder auf der 1-Seite oder der n-Seite einer Beziehung stehen. (Statt »n« wird oft auch ein Sternchen »*« verwendet.) Sehen Sie sich beispielsweise die Beziehung zwischen Product (Produkt) und Product Subcategory (Produktunterkategorie) in Abbildung 1.1 an. Eine Unterkategorie kann viele Produkte enthalten, wĂ€hrend jedes Produkt nur einer einzigen Unterkategorie zugeordnet ist. Daher ist die Produktunterkategorie die 1-Seite der Beziehung, denn jede Unterkategorie ist eindeutig; die Tabelle »Product« hingegen ist die n-Seite, da jede Kategorie mehrere Produkte umfasst.
  • Es gibt auch SonderfĂ€lle, namentlich 1:1-Beziehungen und schwache Beziehungen. Bei 1:1-Beziehungen stehen beide Tabellen auf der 1-Seite, in schwachen Beziehungen befinden sich beide auf der n-Seite. Diese Sonderformen kommen nicht allzu hĂ€ufig vor. Wir werden sie uns in Kapitel 15, »Fortgeschrittene Beziehungen«, vornehmen.
  • Beziehungen werden auf Grundlage von Spalten gebildet, die in den beiden betroffenen Tabellen normalerweise denselben Namen haben. Diese Spalten heißen auch SchlĂŒssel der Beziehung. Auf der 1-Seite der Beziehung muss die Spalte in jeder Zeile einen eindeutigen Wert aufweisen. Zudem sind leere Werte nicht zulĂ€ssig. Auf der n-Seite kann – und wird – derselbe Wert sich in vielen Zeilen wiederholen. Wenn eine Spalte in jeder Zeile einen eindeutigen Wert aufweist, wird sie als SchlĂŒssel der Tabelle bezeichnet.
  • Beziehungen können auch eine Kette bilden. Jedes Produkt ist einer Unterkategorie zugeordnet, und jede Unterkategorie hat eine Kategorie. Somit hat auch jedes Produkt eine Kategorie. Um die Kategorie eines Produkts zu ermitteln, muss eine Kette von zwei Beziehungen durchlaufen werden. Abbildung 1.1 zeigt ein Beispiel fĂŒr eine Kette, die aus drei Beziehungen besteht. Sie beginnt bei Sales (Umsatz) und erstreckt sich bis zu Product Category (Produktkategorie).
  • In jeder Beziehung können ein oder zwei kleine Pfeile die Kreuzfilterrichtung bestimmen. Abbildung 1.1 zeigt zwei Pfeile in der Beziehung zwischen Sales und Product, wĂ€hrend alle anderen Beziehungen nur einen Pfeil aufweisen. Der Pfeil signalisiert die Richtung der automatischen Beziehungsfilterung (Kreuzfilter). Da die Bestimmung der richtigen Filterrichtung zu den wichtigsten FĂ€higkeiten gehört, die Sie erlernen mĂŒssen, werden wir in einem spĂ€teren Kapitel ausfĂŒhrlich auf dieses Thema eingehen. Wir raten fĂŒr gewöhnlich von bidirektionalen Filtern ab (warum, das steht auch in Kapitel 15). Sie sind in diesem Modell nur zur Veranschaulichung vorhanden.

Beziehungsrichtung verstehen

Jede Beziehung kann einen unidirektionalen oder bidirektionalen Kreuzfilter aufweisen. Die Filterung erfolgt immer von der 1- zur n-Seite der Beziehung. Wenn der Kreuzfilter bidirektional ist (also zwei Pfeile hat), kann die Filterung auch von der n- zur 1-Seite erfolgen.
Ein Beispiel könnte hilfreich sein, um dieses Verhalten besser zu verstehen. Wird ein Bericht basierend auf dem in Abbildung 1.1 dargestellten Datenmodell erstellt, wobei die Jahre in den Zeilen und Quantity (Menge) und Count of Product Name (ProduktnamenszÀhler) im Wertebereich stehen, dann liefert er das in Abbildung 1.2 dargestellte Ergebnis.
Calendar Year (Kalenderjahr) ist eine Spalte, die zur Tabelle Date (Datum) gehört. Da Date auf der 1-Seite der Beziehung zu Sales steht, filtert die Engine Sales nach Jahr. Aus diesem...

Table of contents