10 nützliche DAX-Funktionen (Data Analysis Expressions) für Power BI-Anfänger

Einführung

Wir haben auf unserer Business Intelligence (BI) -Reise an zahlreichen Drag-and-Drop-Tools gearbeitet. Aber keiner hat annähernd die Schweizer Taschenmesser Natur von Microsofts Power BI kommen. Es vereinfacht die Aufgabe, Zahlen zu knacken, Daten zu analysieren und Muster zu visualisieren.

Es ist eines der besten Drag-and-Drop-Tools der Branche. Sie wählen ein Feld aus, das Sie analysieren möchten, legen es im Power BI-Dashboard ab und voila! Insights liegen direkt vor Ihnen.

Aber was ist, wenn wir tiefer in unsere Analyse eintauchen wollen? Was sollen wir tun, wenn wir bestimmte Variablen anpassen oder neue generieren möchten? Nur ein schnelles Ziehen und Ablegen löst unser Problem nicht. Hier kommt die Leistungsfähigkeit von Data Analysis Expressions (DAX) in Power BI ins Spiel.

Power BI DAX

Dies ist ein praktisches Lernwerkzeug für jeden Data-Science-Experten, nicht nur für aufstrebende Business Intelligence-Experten. Es spart uns eine Menge Zeit, die wir sonst für die Erstellung des Codes aufwenden würden.

In diesem Artikel werden wir zunächst verstehen, was BI ist und welche typische Rolle ein BI-Branchenprofi spielt. Wir werden Ihnen dann das leistungsstarke Microsoft Power BI-Tool vorstellen und dann tief in zehn wirklich nützliche DAX-Funktionen (Data Analysis Expressions) eintauchen, die wir in Power BI verwenden können.

Inhaltsverzeichnis

  • Einführung in Business Intelligence (BI)
  • Rolle eines Business Intelligence-Experten
  • Was ist Power BI?
  • Data Analytics Expressions (DAX): Was sind sie und warum werden sie benötigt?
  • Implementierung von DAX-Funktionen in Power BI

Einführung in Business Intelligence (BI)

Business Intelligence hat einen breiten Anwendungsbereich, aber wir können es als den Prozess der Verfolgung und Überprüfung von Geschäftsmetriken definieren.

Nehmen wir ein Beispiel, um dies zu verstehen.

Bedenken Sie, dass wir eine Reederei betreiben, die Produkte an unsere Kunden in verschiedenen Teilen des Landes liefert. Wie bei jedem Unternehmen wollen wir unser Kundenerlebnis verbessern. Es gibt mehrere Metriken, die wir zur Messung der Kundenzufriedenheit messen können, darunter:

  • Die Rate, mit der das Produkt an sie geliefert wurde
  • Ob das Produkt beschädigt war oder nicht
  • Wurde das richtige Produkt geliefert? etc.

Diese Daten werden verarbeitet und in Form von übersichtlichen Berichten angezeigt, die es einfacher machen, die Erkenntnisse nach Hause zu bringen. Wenn also das Diagramm für die Zustellrate eine niedrigere Bewertung als erwartet anzeigt, können wir versuchen, die Ursache zu finden und die Zustellgeschwindigkeit zu verbessern.

Die Rolle eines Business Intelligence-Experten

Was macht ein Business Intelligence-Experte? Ich bin mir sicher, dass Ihnen dies beim Durchlaufen des obigen Szenarios in den Sinn gekommen sein muss. Im Folgenden finden Sie einige häufige Aufgaben, die eine typische BI-Person ausführt:

  • Schreiben Sie (SQL) Abfragen oder Konnektoren, um Daten aus relationalen / NoSQL-Datenbanken abzurufen
  • Schreiben Sie (SQL) Abfragen, um Daten zu verarbeiten und die Geschäftsmetriken zu berechnen
  • Entwerfen Sie Code zum Erstellen von Diagrammen mit interaktiven Widgets zur Visualisierung der Geschäftsmetriken
  • Erstellen Sie Dashboards aus den Diagrammen und stellen Sie sie für den Endbenutzer bereit

Die Fähigkeiten, die erforderlich sind, um ein BI-Profi zu werden, variieren von Projekt zu Projekt. Im Großen und Ganzen benötigen Sie jedoch fundierte Kenntnisse in einem BI-Tool wie Tableau, PowerBI, Qlik sowie Erfahrung in einer Programmiersprache wie Python, R oder SQL. Kenntnisse der Domäne und strukturiertes Denken sind ebenfalls gefragt.

Power BI ist eines der beliebtesten und leistungsstärksten BI-Tools. Das wird unser Fokus in diesem Artikel sein. Bevor wir dort ankommen, hier ist eine wunderbare Illustration einer typischen Business Intelligence-Architektur:

Beispiel einer Business Intelligence-Architektur

Was ist Power BI?

Power BI ist ein beliebtes und unglaublich leistungsfähiges Business Intelligence-Tool, das von Microsoft entwickelt wurde. Es hat verschiedene Geschmacksrichtungen und Angebote. Die grundlegendste Version ist kostenlos, kann jedoch problemlos mittelgroße Business Intelligence-Übungen durchführen.

Im Großen und Ganzen ist Power BI eine cloudbasierte Business Analytics-Lösungssuite, die die erforderlichen Tools bereitstellt, um große Datenmengen über Silos hinweg in zugängliche Informationen umzuwandeln. Es wurde konsequent im Gartner BI Magic Quadrant eingestuft.

Power BI ist bekannt für seine Vielseitigkeit, Interaktivität, ästhetischen Designs, umfangreiche Konnektivität zu Datenbanken und die einfache Erstellung von Dashboards mit geringem Aufwand. Es nutzt auch die Unterstützung anderer Tools aus dem Microsoft-Ökosystem – Azure, Cortana, SQL Server, Azure Active Directory, Azure Blob Storage usw.

Hier sind ein paar coole Dinge, die Power BI tun kann:

  • Echtzeitwarnungen und Visualisierung zur Überwachung des Zustands von Fertigungsanlagen. Dazu werden IoT-Sensordaten über IoT Azure Hub, Azure Data Factory und Cognos DB übergeben und anschließend in Power BI analysiert
  • Erstellen und Abrufen von Diagrammen und Power BI-Berichten und Dashboards durch Sprachanweisungen mit Windows Voice Assistant Cortana

Data Analytics Expressions (DAX): Was sind sie und warum werden sie benötigt?

Wir können Daten aus CSV-Dateien oder aus einer Datenbank in Power BI lesen. Wir können auch Tabellen in Power BI zusammenführen. Häufig sind die für das Plotten erforderlichen Daten in Tabellenspalten verfügbar (obwohl dies nicht immer der Fall ist).

Betrachten Sie eine Situation, in der wir die Daten ändern oder ändern müssen, um unsere Dashboards zu verbessern. Angenommen, die erforderlichen benutzerdefinierten Änderungen sind in Power BI nicht ohne weiteres verfügbar. Was machen wir dann? Wie können wir diese Art der Modifikation und Datenanalyse durchführen?

Die Antwort lautet DAX (kurz für Data Analysis Expressions). DAX wird verwendet, um einige aussagekräftige Informationen zu bringen, die in den Rohdaten verborgen sind. In einfachen Worten, DAX wird zur Datenmanipulation verwendet.

Es gibt bestimmte Regeln, die wir für die Verwendung von DAX befolgen müssen. Sie werden diese Regeln schnell verstehen, wenn Sie mit Excel-Funktionen vertraut sind. DAX ist nur eine fortgeschrittene Form davon.

Es gibt zwei Orte, an denen wir DAX schreiben:

  • Berechnete Spalte
  • Berechnetes Maß

Mal sehen, wofür diese beiden stehen:

  • Berechnete Spalten sind regulären Spalten sehr ähnlich, die wir in den meisten Datensätzen sehen. Der Unterschied besteht darin, dass berechnete Spalten das Ergebnis unserer Berechnungen unter Verwendung von zwei oder mehr Spalten oder unter Verwendung von Spalten aus verschiedenen Tabellen sind. Sie können verwendet werden, wenn wir zeilenweise Berechnungen durchführen möchten
  • Berechnetes Maß hingegen ähnelt einer berechneten Spalte. Sie belegen jedoch keinen physischen Speicher und ihre Ergebnisse können nicht in Form einer Spalte angezeigt werden. Normalerweise verwenden wir dies, wenn wir dynamische Berechnungen für eine Gruppe von Zeilen oder durch Gruppieren von Daten durchführen möchten

Implementierung von DAX-Funktionen in Power BI

In diesem Abschnitt werden einige nützliche DAX-Befehle und ihre Funktionen behandelt. Wir werden den Datensatz ‚Sample Super Store‘ verwenden. Sie können den Datensatz hier herunterladen und auch selbst experimentieren!

Der Datensatz enthält drei Tabellen – ‚Orders‘, ‚Returns‘ und ‚Users‘. Laden Sie die Excel-Beispieldatei für das Superstore-Dataset in Power BI.

Öffnen Sie Power BI und suchen Sie auf der Registerkarte „Startseite“ nach „Daten abrufen“. Wählen Sie Excel aus, und navigieren Sie dann zu der Datensatzdatei, die auf Ihrem lokalen Computer vorhanden ist. Laden Sie die gesamte Datei in Ihr BI-Fenster.

Los geht’s!

LOOKUP( )

Die LOOKUP-Funktion ist Vlookup in Microsoft Excel ziemlich ähnlich.

Die dritte Tabelle in unserem Datensatz enthält die Details aller Manager pro Region. Hier kommt die Suche ins Spiel. Wir können eine Suche für die Spalte ‚Manager‘ in der Tabelle ‚Benutzer‘ anhand der entsprechenden Spalte ‚Region‘ in der Tabelle ‚Bestellungen‘ durchführen.

Wie führen wir eine Suche in Power BI durch? Es gibt zwei Dinge, an die wir uns erinnern müssen:

  1. Wir benötigen eine gemeinsame Spalte, um eine Suche durchzuführen
  2. Wir benötigen auch eindeutige Werte in mindestens einer der übereinstimmenden Spalten, die aus zwei verschiedenen Tabellen ausgewählt wurden. Die grundlegende Syntax für die Suche lautet:
LOOKUPVALUE(Result Column Name, Search Column Name, Search Column value)

Setzen Sie diese Syntax mit unseren Dataset-Variablen:

Manager = LOOKUPVALUE(Users,Users,Orders)

FILTER( ) & CALCULATE( )

Die unten angezeigte Funktion ähnelt der Funktion group by. Es aggregiert dynamisch eine Spalte basierend auf dem Filter. Dies ist hilfreich, wenn wir eine Tabelle in Power BI-Dashboards erstellen und nur eine Spalte filtern müssen (während die verbleibende Spalte vom Filter nicht betroffen ist).

Dieser DAX ist praktisch, da jede in der Tabelle verwendete Spalte einen eigenen Filter haben kann. Nehmen wir ein Beispiel, um zu verstehen, wie das funktioniert.

Wir möchten die Summe der Verkäufe nach Regionen berechnen. Zunächst unterteilt die Filterfunktion die Regionsspalte in Nord, Süd, Ost und West. Dann berechnet es die Summe der Verkäufe entsprechend der Segregation. Wir verwenden hier eine Kennzahl, da eine bestimmte Region eine beliebige Anzahl von Zeilen enthalten kann.

Hier deklarieren wir eine Variable reg, die als Schlüssel für den Filter fungiert. Wir können eine Variable mit dem Schlüsselwort VAR deklarieren. Das RETURN-Schlüsselwort gibt uns das Ergebnis der Berechnung (Summe der Verkäufe, in unserem Beispiel). Das Ergebnis, das wir aus dem berechneten DAX erhalten, ist:

Verschachtelte IF-Bedingung

Betrachten Sie die orders-Tabelle in unserem Datensatz. Die Spalte ‚Order Priority‘ enthält fünf Werte. Nehmen wir an, wir benötigen einige ganzzahlige Werte anstelle der ursprünglichen Werte in dieser Spalte. Die verschachtelte IF-Anweisung ist hier unser Freund:

Nested IF = IF(Orders ="Critical", 5, IF(Orders ="High", 4, IF(Orders = "Medium", 3, IF(Orders = "Low", 2, IF(Orders = "Not Specified", 1)))))

Bedingte Formatierung

Bedingte Formatierung ist eine der am häufigsten verwendeten Funktionen von Microsoft Excel. Und das können wir auch in Power BI nutzen!

Bedingte Formatierung ist für diejenigen, die sie noch nicht verwendet haben, die Möglichkeit, die Schriftfarbe einer Spalte basierend auf einer Bedingung aus einer anderen Spalte zu ändern. Dies kann geschehen, indem Sie eine neue Spalte gemäß unserer Bedingung erstellen und diese Spalte dann verwenden, um Regeln auf der Registerkarte bedingte Formatierung festzulegen.

Versuchen wir dies mit einem Beispiel aus unserem Beispiel-Superstore-Dataset.

Wir möchten die Farbe der Werte ändern, die in der Spalte ‚Bestellpriorität‘ der Tabelle Bestellungen angezeigt werden. Zum Beispiel sollten alle ‚kritischen‘ Werte rot sein, alle ‚hohen‘ Werte sollten grün sein usw.

Wir können die verschachtelte IF-Spalte verwenden, die wir oben erstellt haben, da die Bedingungen bereits angegeben sind. Legen Sie auf der Registerkarte bedingte Formatierung Regeln fest: Wenn der Wert der oben erstellten Spalte 1 ist, sollte die Schriftfarbe rot sein, wenn der Wert 2 ist, dann sollte sie orange sein und so weiter.

Hier ist ein Bild, das zeigt, wie Sie dies in Power BI tun können:

Aufteilen einer Zeichenfolge basierend auf Trennzeichen

Eine weitere gängige Excel-Funktion, die wir in Power BI verwenden können:

customer_split_1 = PATHITEM(SUBSTITUTE(Orders," ","|"),1)

Die obige PATHITEM-Funktion gibt die resultierende Zeichenfolge zurück. Die SUBSTITUTE-Funktion ersetzt das angegebene Trennzeichen durch ein bestimmtes Zeichen und ruft das entsprechende Wort basierend auf dem genannten Wert ab.

Lassen Sie uns beispielsweise eine Aufteilung für das Feld ‚Kundenname‘ durchführen. Hier wird das Leerzeichen “ “ das Trennzeichen sein und wir haben es durch eine Pipeline „|“ ersetzt. Wir benötigen nur den Vornamen eines Kunden, daher haben wir 1 angegeben. Sie können diesen Wert ändern und sehen, welche Ergebnisse Sie erhalten.

Lassen Sie uns nun drei Aufteilungen wie diese durchführen und sie als customer_split_1, customer_split_2, customer_split_3 benennen.

Einen bestimmten Buchstaben aus einem Wort holen

Was wäre, wenn wir nur einen bestimmten Buchstaben aus einem Wort extrahieren wollten? Es klingt schwierig, aber in Power BI ist es eigentlich ganz einfach:

customer_initial_1 = LEFT(Orders,1)

Wir haben es in nur einer Codezeile geschafft!

Angenommen, der Name eines bestimmten Kunden lautet „Helen Stein“ und der Split ist in zwei Teile unterteilt. Wir verwenden den obigen DAX, um den ersten Buchstaben aus dem ersten geteilten Wort (Helen) zu erhalten. Die LEFT-Funktion gibt die Anzahl der Zeichen zurück, indem sie am Anfang der Zeichenfolge positioniert wird. Wenn wir 2 anstelle von 1 geben, gibt der obige DAX „He“ anstelle von „H“ zurück.

Verketten von Zeichenfolgen

Wir befinden uns oft in Situationen, in denen wir zwei Wörter miteinander kombinieren müssen. Um zu sehen, wie dies in Power BI funktioniert, nehmen wir an, wir haben mehrere Initialen in unseren Daten.

Wir müssen nur die Initialen des Kunden in der Visualisierung angeben und nicht den gesamten Namen. Dies hilft, den Tisch sauber und kompakt zu halten:

customer_initials = CONCATENATE(Orders,CONCATENATE(Orders,Orders))

Die Concatenate-Funktion verbindet Strings miteinander. Hier haben wir eine Verkettung von drei Spalten durchgeführt:

WEEKDAY()

Die Funktion WEEKDAY gibt eine Ganzzahl zurück, die den aktuellen Tag angibt. Lassen Sie uns den Tag herausfinden, an dem einige Bestellungen versandt wurden:

weekday = WEEKDAY(Orders,2)

Die oben angezeigte Ganzzahl gibt den Starttag an:

  • 1 – Start ab Sonntag = 1 und endet am Samstag = 7
  • 2 – Start ab Montag = 1 und endet am Sonntag = 7
  • 3 – Start ab Montag = 0 und endet am Sonntag = 6

DATE Split Up

Es gibt Zeiten, in denen wir das Datum für bestimmte Projekte aufheben müssen. Hier ist die gute Nachricht – wir können dies mit Hilfe von DAX und dem Abfrage-Editor in Power BI tun.

Jetzt haben wir zwei Spalten – Bestelldatum und Versanddatum. Wir möchten die Daten, die zwischen den beiden Intervallen liegen, auflisten. Nehmen wir das Bestelldatum als 01-01-2015 und das Versanddatum als 03-01-2015. Da es einen Unterschied von 3 Tagen zwischen ihnen gibt, wird diese Zeile dreimal aufgelistet.

Wir können dies über den Abfrageeditor in Power BI tun. Wählen Sie auf der Registerkarte ‚Spalte hinzufügen‘ die Option ‚Benutzerdefinierte Spalte‘. Das folgende Fenster wird angezeigt und wir können einen Spaltennamen hinzufügen und die DAX-Abfrage verwenden:

Suchen Sie als Nächstes die Datumsspalte in unserem Datensatz. Klicken Sie auf das kleine Kästchen in der Datumsspaltenüberschrift und wählen Sie die Option ‚In neue Zeilen erweitern‘:

Beachten Sie, wie die Werte in Form von ganzen Zahlen angezeigt werden? Klicken Sie nun mit der rechten Maustaste auf die Spalte und ändern Sie den Datentyp in das Datumsformat:

Komplexe Aggregationen basierend auf DATUM

Das Arbeiten mit Datumsdaten ist eine ziemlich komplizierte Herausforderung. Es steckt viel mehr dahinter, als nur die verschiedenen Tage aufzuteilen, Monate, etc.

In diesem Abschnitt werden wir an einem Beispiel für eine komplexe Aggregation basierend auf Daten arbeiten. Zum Beispiel, was ist die Gesamtzahl der Stunden für die nächsten 2 Wochen oder die letzten 2 Wochen aufgeführt?

Wir werden unseren Datensatz für diesen Abschnitt umstellen. Sie können den neuen Datensatz ‚Weekcal‘ von Forecast herunterladen. Dieser Datensatz basiert auf der Teamzeitzuweisung und einem Planungstool namens Float. Float hilft uns, Aufgaben zuzuweisen und die geschätzten Stunden für Teammitglieder zu berechnen.

Es gibt eine Einschränkung in Float, die wir beachten sollten. Eine Woche beginnt immer ab Montag im Float-Tool. Wenn Sie beispielsweise die zugewiesenen Stunden für die nächste Woche ab Donnerstag berechnen möchten, finden Sie Stunden, die vom letzten Montag bis Freitag und nicht von diesem Donnerstag bis zum nächsten Donnerstag zugewiesen wurden.

Der Datensatz enthält nun die folgenden Funktionen:

  • Starttag – Starttag der Aufgabe
  • Enddatum – Endtag der Aufgabe
  • Stunden / Tag – Anzahl der für die Aufgabe aufgewendeten Stunden pro Tag
  • Aufgabenname – Name der Aufgabe

Nehmen wir an, wir möchten die Anzahl der für die nächste Woche zugewiesenen Stunden ermitteln. Wir können dies mit der folgenden Logik tun:

FORECAST_1 WEEK = if (Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(Forecast1,Forecast1,DAY)+1 * Forecast1,IF(Forecast1 > TODAY()-(WEEKDAY(TODAY(),2)-1) ,0,IF(Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)+7 && Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1),DATEDIFF(TODAY()-(WEEKDAY(TODAY(),2)-1),Forecast1,DAY)* Forecast1,IF(Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1 >=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(Forecast1,TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DAY)* Forecast1,IF(Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)&& Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(TODAY()-(WEEKDAY(TODAY(),2)-1),TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DAY) * Forecast1,BLANK())))))
  • TODAY() – (WEEKDAY(TODAY(), 2) – 1 Funktion gibt den aktuellen Montag der Woche zurück
  • DATEDIFF Funktion gibt die Differenz zwischen zwei Daten zurück

In der folgenden Tabelle finden Sie die geschätzten Stunden für jede Aufgabe für die folgende Woche:

Endnoten

Power BI ist ein leistungsstarkes und benutzerfreundliches Tool zum Erstellen schneller Dashboards mit einer Vielzahl von Datenquellen. DAX-Abfragen werden verwendet, um Daten abzubilden, neue Variablen und Geschäftsmetriken zu erstellen und Daten zu bearbeiten. Dieser Artikel bietet eine kurze und schnelle Anleitung, um Ihre DAX-Reise zu beginnen.

Sie sollten auch die offiziellen Microsoft-Tutorials für Power BI lesen – eine großartige Ressource!

Wir hoffen, dass Sie diesen Artikel nützlich fanden. Wir freuen uns auf Ihr Feedback und Ihre Kommentare. Happy Dashboarding, oder sollten wir sagen Happy DAXing!

Über die Autoren

Kirthi Tej Yendloori

Kirthi Tej ist Datenanalyst bei Indium Software. Er hat ein Jahr Erfahrung in der Datenvisualisierung und interessiert sich sehr für maschinelles Lernen. Er liebt es zu reisen.

You might also like

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.