Direkt zum Inhalt

Beherrsche SWITCH in DAX für Power BI: Ein umfassender Leitfaden

Erfahre, was die Power BI SWITCH-Funktion ist, wie man sie nutzt und welche Fallstricke und Best Practices es gibt.
Aktualisierte 15. Jan. 2025  · 10 Min. Lesezeit

Die Funktion SWITCH() in Power BI ist eine logische DAX-Funktion, die eine strukturiertere und lesbarere Möglichkeit bietet, mehrere Bedingungen zu behandeln als verschachtelte IF() Anweisungen.

In diesem Lernprogramm werden wir die Funktion SWITCH() im Detail untersuchen. Wir werden besprechen, was die Funktion ist, wie sie verwendet wird und welche Fallstricke es gibt und wie man die Funktion am besten einsetzt.

Um den Einstieg in Power BI und DAX zu finden, schau dir unseren Lernpfad zu den Power BI-Grundlagen an und halte unser DAX Cheat Sheet bereit, das dir die nützlichsten DAX-Funktionen auf einen Blick zeigt.

image2.png

Was ist die SWITCH-Funktion in Power BI?

Die Funktion SWITCH() in DAX für Power BI erleichtert das Schreiben von bedingten Anweisungen. Sie wertet einen Ausdruck aus, vergleicht ihn mit einer Reihe von Werten und gibt das erste passende Ergebnis zurück.

SWITCH() kann mehrere verschachtelte IF() Anweisungen ersetzen, indem sie mehrere Bedingungen in einer einzigen Funktion zusammenfasst. Dies führt zu saubereren, einfacheren DAX-Ausdrücken, die leichter zu lesen und zu pflegen sind. Außerdem verbessert es die Lesbarkeit deiner Formeln, so dass du und andere deine Berechnungen leichter verstehen und ändern können.

Grundlegende Syntax und Verwendung

Die grundlegende Syntax für die Funktion SWITCH() lautet:

SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
  • Ausdruck: Der Ausdruck, der ausgewertet wird.
  • Wert: Die Werte, die mit dem Ausdruck verglichen werden.
  • Ergebnis: Die Ergebnisse, die zurückgegeben werden, wenn der Ausdruck mit dem entsprechenden Wert übereinstimmt.
  • Else: Ein optionales Ergebnis, das zurückgegeben wird, wenn keiner der Werte mit dem Ausdruck übereinstimmt.

Hier ist ein kurzer Tipp zum Lesen der grundlegenden Syntaxanweisungen (wie die obige), die du häufig in Tutorials und in der offiziellen Microsoft Power BI-Dokumentation findest. Die obige Anweisung zeigt zwei und Parametersätze, wobei der zweite Satz in eckigen Klammern steht. Das bedeutet, dass es mehr als einen Satz von Werten und Ergebnissen geben kann, die für die Funktion SWITCH() optional sind. Auch der Teil der Funktion ist in eckige Klammern eingeschlossen, also ebenfalls optional.

Vergleich mit verschachtelten IF-Anweisungen

Die herkömmliche Art, mehrere Bedingungen in DAX zu behandeln, würde verschachtelte IF-Anweisungen beinhalten, die schnell komplex und schwer zu lesen werden können. Um zum Beispiel vier Bedingungen zu behandeln, wären drei verschachtelte IF-Funktionen erforderlich. Die Funktion SWITCH() hingegen vereinfacht dies, indem sie eine einfache Liste von Bedingungs-Ergebnis-Paaren ermöglicht, was sowohl die Lesbarkeit als auch die Wartbarkeit verbessert.

Obwohl mehrere verschachtelte IF-Anweisungen das gleiche Ergebnis erzielen können wie SWITCH(), wird SWITCH() immer noch bevorzugt, weil sie einfacher zu schreiben und weniger fehleranfällig sind. Viele IF() Anrufe können sich auch negativ auf die Leistung eines Berichts auswirken. Es ist jedoch gut, daran zu denken, dass die Funktion SWITCH() auch die Berichtsleistung beeinflussen kann. Deshalb werden wir später in diesem Lernprogramm Strategien zur Optimierung deiner SWITCH() Funktionen und einige Best Practices besprechen.

Eignung für komplexe Berechnungen

SWITCH() eignet sich besonders für Szenarien, in denen du eine definierte Menge möglicher Werte für einen Ausdruck und ein entsprechendes Ergebnis für jeden hast.

Das ist sauberer und effizienter als mehrere verschachtelte IF() Anweisungen zu verwenden, vor allem wenn die Anzahl der Bedingungen wächst. Das macht SWITCH() zu einer hervorragenden Wahl für komplexe Berechnungen, bei denen es auf Lesbarkeit und Leistung ankommt.

Obwohl SWITCH() die Lesbarkeit verbessern kann, hängen die Leistungsvorteile gegenüber verschachtelten IF() Anweisungen weitgehend vom jeweiligen Anwendungsfall und dem zugrunde liegenden Datenmodell ab.

Wie man die SWITCH-Funktion in Power BI verwendet

Diese Beispiele zeigen, wie vielseitig die Funktion SWITCH() für verschiedene Geschäftsszenarien in Power BI eingesetzt werden kann. Indem du komplexe verschachtelte IF() Anweisungen durch SWITCH() ersetzt, kannst du übersichtlichere und besser wartbare DAX-Formeln erstellen.

Beispiel 1: Analyse der Verkaufskategorie

Stell dir vor, ein Unternehmen möchte seine Verkäufe auf der Grundlage des Gesamtumsatzes in verschiedene Stufen einteilen, um seine Verkaufsleistung besser analysieren zu können.

In der folgenden DAX-Formel verwenden wir die Funktion SWITCH(), um eine Umsatzkategorie auf der Grundlage des Gesamtumsatzes zuzuweisen. Du wirst feststellen, dass wir die logische Funktion TRUE() als Ausdruck in unserer Formel verwenden. Das liegt daran, dass SWITCH() nur nach exakten Übereinstimmungen sucht und wir in unserer Formel Operatoren wie größer als und kleiner als verwenden wollen. Wenn du den Ausdruck auf TRUE() setzt, wertet SWITCH() jede Bedingung aus, bis eine Übereinstimmung gefunden wird (d. h. wenn das Ergebnis wahr ist).

Sales Category =
SWITCH(
    TRUE(),
    [Total Sales] < 10000, "Low Sales",
    [Total Sales] < 50000, "Medium Sales",
    [Total Sales] >= 50000, "High Sales",
    "Unknown")

Hier ist das Ergebnis in Power BI:

image3.png

Beispiel 2: Produkt-Rabattstrategie

Angenommen, eine Einzelhandelskette wendet auf Produkte je nach ihrem Nettoverkaufspreis unterschiedliche Rabattprozentsätze an, um die Rentabilität zu maximieren. Sie wollen den Gesamtwert der rabattierten Verkäufe in ihrem Laden berechnen.

In der folgenden DAX-Formel verwenden wir die Funktion SWITCH() innerhalb einer Variablen. Da wir die Formel für den Rabattprozentsatz nirgendwo anders in unserem Bericht verwenden müssen, können wir wiederholte Berechnungen reduzieren und sie nur innerhalb dieser Formel für rabattierte Verkäufe auswerten.

DiscountedSales =
    VAR DiscountPct = SWITCH(
        TRUE,
        Sales[Net Price] <= 150, 0.15,
        Sales[Net Price] <= 500, 0.2,
        Sales[Net Price] <= 1000, 0.3,
        0
    )
    VAR DiscountAmount = Sales[SalesAmount] * (1 - DiscountPct)
    RETURN
    DiscountAmount

Hier ist das Ergebnis in Power BI:

image1.png

Häufige Fallstricke und wie du sie vermeidest

Dieser Abschnitt befasst sich mit einigen häufigen Fallstricken bei der Verwendung der Funktion SWITCH() und gibt Empfehlungen, wie diese vermieden werden können.

1. Übermäßiger Gebrauch für einfache Bedingungen

Die Verwendung von SWITCH() für Szenarien, in denen eine einfache IF-Anweisung ausreichen würde, kann deine DAX-Formeln unnötig verkomplizieren.

Reserviere stattdessen SWITCH() für Fälle mit mehreren Bedingungen. Für eine oder zwei Bedingungen kannst du der Einfachheit halber IF verwenden.

2. Auswirkungen auf die Leistung bei großen Datensätzen

Die häufige Verwendung der Funktion SWITCH(), insbesondere bei komplexen Ausdrücken, kann die Berichtsleistung bei großen Datensätzen verlangsamen.

Optimiere Ausdrücke in SWITCH(), indem du komplexe Teile mithilfe von Variablen vorberechnest. Variablen machen den Ausdruck SWITCH() sauberer und verständlicher und tragen indirekt zur Optimierung bei, indem sie die Wahrscheinlichkeit redundanter oder unnötiger Berechnungen verringern.

Berechne allgemeine Ausdrücke oder komplexe Teile deiner Bedingungen einmal und speichere sie in Variablen. Dadurch wird vermieden, dass derselbe Ausdruck innerhalb der Funktion SWITCH() mehrmals neu berechnet wird.

3. Ineffiziente Standardnutzung

Wenn du den Standardfall in SWITCH() missbrauchst, um mit Fehlern oder unerwarteten Werten umzugehen, ohne dies zu berücksichtigen, kann dies zu falschen Ergebnissen führen.

Definiere die Bedingungen klar und behandle bekannte Szenarien explizit. Verwende Funktionen wie IFERROR oder ISBLANK, um unerwartete oder fehlende Werte zu verwalten.

4. Kontext missverstehen

Wenn du vergisst, dass SWITCH() im aktuellen Kontext ausgewertet wird, kann das zu unerwarteten Ergebnissen führen, besonders wenn du es in Zeilen- oder Filterkontexten verwendest. Schau dir unseren Kurs Einführung in DAX an, in dem wir Kontexte ausführlicher behandeln.

Wenn du deine SWITCH() Ausdrücke entwirfst, berücksichtige immer den aktuellen Zeilen- oder Filterkontext. Verwende Kontextübergangsfunktionen wie CALCULATE() mit Bedacht, um den Kontext nach Bedarf anzupassen.

5. Reihenfolge der Operationen

Das Übersehen der Reihenfolge der Bedingungen in der SWITCH() Anweisung kann zu unerwarteten Ergebnissen führen, da die SWITCH() Funktion die Bedingungen in der Reihenfolge auswertet, in der sie definiert sind, und die erste passende Bedingung verwendet.

Achte darauf, dass jeder Fall in der richtigen Reihenfolge erscheint, genau wie bei den verschachtelten IF() Anweisungen.

SWITCH Best Practices

Hier sind einige Best Practices für die effektive Nutzung von SWITCH():

  • Verwendung für mehrere Bedingungen: SWITCH() ist ideal, wenn du mehr als zwei bedingte Prüfungen hast. So ist deine Formel leichter zu lesen und zu pflegen als verschachtelte IF() Anweisungen.

  • Definiere alle Fälle klar und deutlich: Deine SWITCH() Funktion sollte alle möglichen Szenarien abdecken, einschließlich eines Standardfalls, um unerwartete Werte zu behandeln. So wird sichergestellt, dass deine Berechnungen robust und weniger fehleranfällig sind.

  • Optimiere für die Leistung: Halte die Ausdrücke in SWITCH() so einfach wie möglich, um Leistungseinbußen bei der Arbeit mit großen Datensätzen zu vermeiden. Die Verwendung von Variablen zur Speicherung von Zwischenergebnissen kann helfen, den Rechenaufwand zu minimieren.

  • Teste gründlich: Besonders wenn du SWITCH() für komplexe Logik verwendest, solltest du deine Ergebnisse in verschiedenen Szenarien gründlich testen. So kannst du Logikfehler oder Fälle, die du übersehen hast, erkennen.

Fazit

Wenn du nach einer effizienteren und vielseitigeren Möglichkeit suchst, mehrere Bedingungen in Power BI zu verarbeiten, ist SWITCH() die Antwort. Im Gegensatz zu verschachtelten IF-Anweisungen fasst die Funktion SWITCH() mehrere Bedingungen in einer einzigen Funktion zusammen, was zu saubereren und einfacheren DAX-Ausdrücken führt, die leichter zu lesen und zu pflegen sind. Außerdem verbessert es die Lesbarkeit deiner Formeln und macht es dir und anderen leichter, deine Berechnungen zu verstehen und zu ändern.

Vermeide jedoch einige häufige Fehler, wenn du die Funktion SWITCH() verwendest, und befolge die bewährten Methoden, die wir in diesem Lernprogramm besprochen haben.

Wenn du ernsthaft vorhast, eine Karriere als Power BI-Entwickler/in zu starten, dann schau dir unseren Schritt-für-Schritt-Leitfaden für BI-Entwickler/innen und den kompletten Lernpfad für Datenanalyst/innen in Power BI an, in dem du alles lernst, was du wissen musst, um Power BI in der Praxis einzusetzen.

Werde ein Power BI Datenanalyst

Beherrsche das beliebteste Business Intelligence Tool der Welt.

Kostenloses Lernen beginnen

Joleen Bothma's photo
Author
Joleen Bothma
LinkedIn
Themen

Beginne deine Power BI-Reise noch heute!

Zertifizierung verfügbar

Kurs

Einführung in Power BI

4 hr
361.1K
Beherrsche die Grundlagen von Power BI und lerne, die Datenvisualisierungssoftware zu nutzen, um aussagekräftige Berichte zu erstellen.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Mehr anzeigenMehr anzeigen