DAX-Funktionen
Verfasst von: Sajagan Thirugnanam und Austin Levine
Zuletzt aktualisiert am 24. Oktober 2024
Power BI ist ein äußerst leistungsstarkes Tool zur Erstellung von Visualisierungen aus unverarbeiteten Daten. Daher ist es sehr wichtig, zu wissen, wie man die Daten entsprechend den Anforderungen des Unternehmens manipuliert. Zuvor habe ich in meinem anderen Blog über die Calculate-Funktion und ihre Funktionsweise gesprochen, den Sie hier finden.
Heute möchte ich darüber sprechen, wie Sie die Switch Funktion verwenden können, um mehrere IF-Aussagen ohne großen Aufwand zu schreiben!
Data Analysis Expression, oder häufiger als DAX bezeichnet, ist eine native Sprache von Power BI, die in Power BI verwendet wird, um Daten zu manipulieren und komplexe Formeln zu schreiben, die dem Zweck des Berichts dienen. Sie fragen sich vielleicht – warum können wir nicht die reguläre bedingte Funktion, die IF-Anweisung, ähnlich wie in Excel verwenden?
Der Grund ist etwas, dem die meisten von uns wahrscheinlich begegnet sind – es wird ziemlich herausfordernd, eine verschachtelte IF-Anweisung zu schreiben, die mehr als drei Bedingungen hat. In solchen Fällen wird empfohlen, stattdessen die Switch Funktion zu verwenden, um den Code einfach und leicht schreib- sowie wartbar zu halten.
In diesem Blog werde ich Ihnen ein ausführliches Tutorial zur Switch Funktion geben und ihre Funktionen und Vorteile im Vergleich zur Alternative erkunden. Am Ende des Blogs hoffe ich, dass Sie ein gründliches Verständnis der Switch Funktion erlangt haben und über die erforderlichen Fähigkeiten verfügen, um sie im nächsten Power BI Dashboard, das Sie erstellen, umzusetzen.
Was ist die Switch Funktion?
Die Switch Funktion wertet einen Ausdruck gegenüber einer Liste von Werten aus. Sie gibt unterschiedliche Ergebnisse zurück, je nachdem, ob der Ausdruck mit dem Wert übereinstimmt. Wie bereits erwähnt, kann die SWITCH-Funktion anstelle der Verschachtelung von IF-Anweisungen verwendet werden.
Hier ist die grundlegende Syntax der Switch Funktion:
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])

Warum die Switch Funktion anstatt der IF-Anweisung verwenden?
Der größte Nachteil der IF-Anweisung ist, dass die Lesbarkeit und Wartung problematisch wird, sobald die Anzahl der Bedingungen mehr als zwei oder drei beträgt. Mit steigender Anzahl der Bedingungen wird eine Verschachtelung unerlässlich, was zu Herausforderungen beim Lesen der Anweisung führt und Fehler beim Schreiben des Codes verursachen kann.
Dies ist nicht das einzige Problem der IF-Anweisung – die Leistung leidet ebenfalls, insbesondere wenn der Bericht in Power BI viele solche verschachtelten IF-Anweisungen enthält. Hier kommt die Switch Funktion ins Spiel und bietet einen überlegenen Ansatz für die Ausdrucksstärke bei mehreren Bedingungen.
Beispiel der Switch Funktion in Power BI
Hier ist ein Beispiel, wie wir die Switch Funktion in einem Power BI Dashboard oder Bericht verwenden können, den Sie erstellen. Nehmen wir zunächst ein einfaches Beispiel – wir haben Daten, bei denen die Monate des Jahres als „Jan“, „Feb“, „Mar“ usw. geschrieben sind. Um dies auf den vollständigen Monatsnamen umzustellen, können wir eine einfache Switch-Anweisung wie folgt verwenden:
Month_of_Year =
SWITCH(
True(),
Calendar[Month]="Jan", "January",
Calendar[Month] ="Feb", "February",
Calendar[Month] ="Mar", "March",
Calendar[Month] ="Apr", "April",
Calendar[Month] ="Jun", "June",
Calendar[Month] ="Jul", "July",
Calendar[Month] ="Aug", "August",
Calendar[Month] ="Sep", "September",
Calendar[Month] ="Oct", "October",
Calendar[Month] ="Nov", "November",
Calendar[Month] ="Dec", "December",
ISBLANK(Calendar[Month]),"null"
)
Auf diese Weise können wir die Daten leicht manipulieren, um den vollständigen monatlichen Namen zu erhalten.
Nehmen wir ein weiteres Beispiel, bei dem wir dieselbe Logik mit der IF-Anweisung und der Switch Funktion schreiben. Angenommen, wir möchten Produkte basierend auf dem in unserer Datenbank aufgeführten Verkaufspreis kategorisieren. Artikel, die über $1000 kosten, werden als hochpreisige Produkte gruppiert, $500 bis $999 als mittelpreisige Produkte und alles, was unter $500 kostet, wird als Niedrigpreisprodukt eingestuft.
Hier ist die Schreibweise mit der IF-Anweisung:
Price Category =
IF(
'Product'[Sales Price] < 500,
"Low",
IF(
'Product'[Sales Price] < 1000,
"Medium",
"High"
)
)
Beachten Sie, wie schwierig der Code aussieht und zu lesen ist. Wenn wir stattdessen eine Switch-Anweisung verwenden, wird der Code viel einfacher lesbar und verständlicher.
Price Category =
SWITCH(
'Product'[Sales Price] < 500, "Low",
'Product'[Sales Price] < 1000, "Medium",
"High"
)
Hier ist ein weiteres Beispiel dafür, wie wir Ungleichungen mit der Switch Funktion bewerten können. Zum Beispiel möchten wir je nach ROI-Wert unterschiedliche Ausgaben anzeigen. In Power BI können wir diese Daten mit dem folgenden Code-Snippet ändern:
ROI Range = SWITCH(
TRUE(),
AND([ROI]>=0, [ROI]<=0,6), "Zwischen 0% und 60%",
AND([ROI]>0,60, [ROI]<=0,7), "Zwischen 60% und 70%",
AND([ROI]>0,70, [ROI]<=0,8), "Zwischen 70% und 80%",
AND([ROI]>0,80, [ROI]<=0,9), "Zwischen 80% und 90%",
AND([ROI]>0,90, [ROI]<=1,0), "Zwischen 90% und 100%",
"größer als 100%"
)
Abschließende Bemerkungen
In diesem Blog haben wir behandelt, wie die Switch Funktion effektiv verwendet werden kann, um eine mehrfache IF-Anweisung zu schreiben, ohne den Aufwand einer verschachtelten IF-Anweisung. Dies bedeutet, dass wir jetzt die Flexibilität haben, einen der Ansätze zu verwenden. Vergessen Sie nicht die Funktionalität einer IF-Anweisung in Fällen, in denen wir nur eine oder zwei Bedingungen haben – IF-Anweisungen können in diesen Fällen leicht logisch umgesetzt werden.
Wie im Blog besprochen, kann die Vielseitigkeit der Switch Funktion in bestimmten Szenarien sehr nützlich sein, also vergessen Sie in Ihrem nächsten Projekt nicht, diese zu verwenden, wenn sich die Gelegenheit bietet. Denken Sie daran, dass der beste Weg, ein neues Tool zu lernen, darin besteht, es in der Praxis einzusetzen. Fangen Sie also an zu üben und erstellen Sie funktionsreiche Dashboards, die dazu beitragen können, Ihr Portfolio auf die nächste Stufe zu heben!
FAQs
Was ist der Unterschied zwischen Switch und If in Power BI?
Die Switch Funktion ermöglicht leicht lesbare DAX-Anweisungen anstelle der komplizierten verschachtelten IF-Anweisungen für Formeln mit mehreren Bedingungen. Im Gegensatz zu verschachtelten IF-Anweisungen fasst die SWITCH-Funktion mehrere Bedingungen in eine einzige Funktion zusammen, was zu saubereren und einfacheren DAX-Ausdrücken führt, die leichter zu lesen und zu pflegen sind.
Ist es besser, If oder Switch zu verwenden?
Für Aussagen mit nur einer oder zwei Bedingungen könnte es eine bessere Idee sein, eine einfache IF-Anweisung zu verwenden. In einem Szenario mit mehreren Bedingungen ist es jedoch best practice, eine Switch Funktion zu verwenden.
Bezogen auf DAX-Funktionen
