„Wenn du dich reinhängst, kannst du alles schaffen.“ „Wenn die Zahl gleich 8 ist, gewinne ich das Spiel!“ Bedingte Aussagen gehören zum Alltag. Wir nutzen sie ständig, um aufgrund einer logischen Prüfung zu entscheiden, wie wir vorgehen:
- Engagiere ich mich (WAHR/FALSCH)? Dann kann ich alles schaffen.
- Ist die Zahl = 8? Falls ja, gewinne ich das Spiel.
In Tableau kannst du bedingte Logik anwenden, um genau diese Alltagslogik abzubilden. Tableau stellt eine Reihe logischer Funktionen bereit, mit denen du Daten anhand einer logischen Prüfung unkompliziert bedingt transformieren kannst – entweder über einen booleschen Ausdruck (WAHR/FALSCH) oder über einen exakten Wertvergleich. In diesem Artikel schauen wir uns einige der häufigsten bedingten Anweisungen in Tableau an und zeigen, wie du sie zur Analyse und Visualisierung von Daten einsetzt.
Tableau IF-Anweisungen
Die Anweisung IF ist eine grundlegende bedingte Anweisung in Tableau. Damit prüfst du einen booleschen Ausdruck und gibst einen Wert zurück, wenn die Bedingung wahr ist, und einen anderen, wenn sie falsch ist. Die Grundsyntax von IF lautet:
IF [condition] THEN [value1] ELSE [value2] END
Hängt das Endergebnis von der Auswertung einer alternativen Bedingung ab, kannst du eine ELSEIF-Klausel ergänzen:
IF [condition1] THEN [value1]
ELSEIF [condition2] THEN [value2]
ELSE [value3]
END
Um beispielsweise Pop- vs. Nicht-Pop-Musikgenres daran zu erkennen, ob „pop“ im Namen enthalten ist, können wir folgende IF-Anweisung nutzen:
IF CONTAINS([Top Genre], 'pop') THEN 'pop'
ELSE 'other genre'
END
Verschachtelte IF-Anweisungen
IF-Anweisungen lassen sich auch verschachteln, um komplexere Bedingungen abzubilden und mehrere Bedingungen für Teilgruppen deiner Daten zu prüfen. Verwende für verschachtelte IF-Anweisungen folgende Syntax:
IF [condition1] THEN
IF [condition2] THEN [value1]
ELSE [value2]
END
ELSE [value3]
END
Angenommen, wir wollen herausfinden, welcher Anteil der Pop-Songs tanzbar ist (gemäß dem Merkmal „danceability“ im Spotify Music Dataset). Mit der folgenden verschachtelten IF-Anweisung gelingt das:
IF CONTAINS([Top Genre], 'pop') THEN
IF [Dnce] > 66 THEN 'danceable pop' // 66 is the median
ELSE 'less danceable pop'
END
ELSE 'not pop'
END

Verschachtelte IF-Anweisungen sind besonders mächtig, wenn für unterschiedliche Teilgruppen mehrere Bedingungen erfüllt sein müssen.
IIF-Anweisungen
Die Funktion IIF ist eine weitere bedingte Anweisung in Tableau. Damit prüfst du eine Bedingung und gibst einen von zwei Werten zurück. Die Syntax von IIF lautet:
IIF([condition], [value if true], [value if false])
Um zum Beispiel ein berechnetes Feld zu erstellen, das Songwriter identifiziert, die zwischen 2017 und 2019 einen Top-Hit produziert haben, können wir folgende IIF-Funktion verwenden:
IIF([Year] >= 2017 AND [Year] <= 2019, '2017-2019 Top Song', 'Not Top Song in 2017-2019')

Das ergibt „2017-2019 Top Song“, wenn der Song zwischen 2017 und 2019 ein Top-Hit war (gemäß Billboard), andernfalls „Not Top Song in 2017-2019“.
Tableau-Aggregationsfunktionen mit IF verwenden
Tableau bietet zahlreiche eingebaute Funktionen, die du zusammen mit bedingten Anweisungen für fortgeschrittene Berechnungen einsetzen kannst. Zu den häufigsten Aggregationsfunktionen zählen COUNTD, SUM, AVG, MIN und MAX. Mit Aggregationen kannst du neue Metriken in Tableau bilden und Erkenntnisse wirkungsvoll zusammenfassen. Du nutzt dafür folgende Syntax:
<Aggregation>(IF [Condition] THEN [value] END)
Zählen wir beispielsweise mit COUNTD die Anzahl einzigartiger Artists mit einem Top-Hit zwischen 2017 und 2019:
COUNTD(IF [Year] >= 2017 and [Year] <= 2019 THEN [Artist] END)

Die obige Anweisung liefert die Anzahl unterschiedlicher Artists, die zwischen 2017 und 2019 einen Hit hatten. Hatte ein Artist in diesen Jahren mehrere Hits, wird der Name nur einmal gezählt.
Analog lassen sich SUM und AVG zusammen mit einer Bedingung verwenden, um Berechnungen auf bestimmten Datensubsets durchzuführen.
Ein Tipp vorweg: Achte darauf, die Bedingung innerhalb der Aggregation zu kapseln. Andernfalls erhältst du die berüchtigte Fehlermeldung: „Cannot mix aggregate and non aggregate comparisons or results in 'IF' expressions.“ Die folgende Anweisung führt zum Beispiel zu einem Fehler, weil wir eine Aggregation auf einen einzelnen, nicht aggregierten Datenpunkt anwenden wollen.

Tableau CASE-Anweisungen
Einführung
Die CASE-Anweisung ist eine weitere bedingte Anweisung in Tableau. Damit prüfst du mehrere Fälle für ein einziges Feld und gibst je nach Ergebnis unterschiedliche Werte zurück. Anders als IF-Anweisungen, die auf der Auswertung eines booleschen Ausdrucks beruhen, arbeiten CASE-Anweisungen mit exakten Wertübereinstimmungen. Verwendest du in der WHEN-Klausel boolesche Logik, erhältst du in Tableau folgenden Fehler:

Die Syntax von CASE lautet:
CASE [expression]
WHEN [value1] THEN [result1]
WHEN [value2] THEN [result2]
ELSE [default result]
END
Schreiben wir das Beispiel zur Identifikation von Songwritern mit einem Top-Hit zwischen 2017 und 2019 mit CASE um:
CASE [Year]
WHEN IN (2017, 2018, 2019) THEN '2017-2019 Top Songs'
ELSE 'Not Top Song in 2017-2019'
END

Im obigen Fall nutzen wir die WHEN IN-Schreibweise, um die interessierenden Jahre (2017, 2018 und 2019) aufzulisten. Tableau verwendet diese Menge, um exakte Übereinstimmungen in den Daten zu finden. Wird kein passender Wert gefunden und ist kein Standardwert angegeben, gibt Tableau null zurück.
Verschachtelte CASE-Anweisungen
Ähnlich wie bei verschachtelten IF-Anweisungen kannst du in Tableau auch verschachtelte CASE-Anweisungen nutzen, um komplexe Logik in einem berechneten Feld abzubilden. Mit folgender Syntax gibst du verschachtelte Logik in CASE-Anweisungen zurück:
CASE [expression1]
WHEN [value1] THEN
(CASE [expression2]
WHEN [value2] THEN [result1]
WHEN [value3] THEN [result2]
…
ELSE [default result]
END)
WHEN [value4] THEN
(CASE [expression2]
WHEN [value5] THEN [result3]
WHEN [value6] THEN [result4]
…
ELSE [default result]
END)
ELSE [default result]
END
Auch wenn CASE-Anweisungen keine booleschen Ausdrücke auswerten und sich nicht zur Erkennung komplexer Muster eignen, sind sie leichter lesbar und performanter als IF-Anweisungen. Sind die Daten einfach genug zu transformieren und benötigen keine komplexen WAHR/FALSCH-Prüfungen, fährst du mit CASE in der Regel besser. In manchen Fällen kannst du IF und CASE auch kombinieren, um noch stärkere Analysen zu bauen.
Fazit
Bedingte Anweisungen wie IF und CASE sind wirkungsvolle Werkzeuge, um deine Tableau-Kompetenzen als Data Practitioner auf das nächste Level zu bringen. Um mit Tableau von „Zero to Hero“ zu kommen, schau dir unsere Ressourcen an, zum Beispiel den Data Analyst in Tableau-Karrierepfad oder den Kurs Analyzing Data in Tableau.
Mit soliden Grundlagen kannst du Visualisierung in Tableau mit den in DataLab verfügbaren Datensätzen üben. IF-, IIF- und CASE WHEN-Anweisungen gehen dir dann in Fleisch und Blut über. Viel Erfolg!
Werde ein Tableau Datenanalyst
Tableau CASE und IF: FAQs
Woran erkenne ich, wann ich IF statt CASE nutze?
Welche Funktion du nutzt, hängt stark von der jeweiligen Aufgabe ab. Eine IF-Anweisung bewertet einen booleschen Ausdruck, eine CASE-Anweisung vergleicht strikt Feldwerte. Häufig lässt sich eine CASE-Anweisung in eine IF-Anweisung überführen. Umgekehrt ist das seltener der Fall, da IF-Anweisungen komplexere Auswertungen unterstützen, die CASE-Anweisungen in der Regel nicht leisten.
Was ist der Unterschied zwischen IF und CASE?
Während IF-Anweisungen boolesche Logik auf desaggregierten Dimensionen oder aggregierten Kennzahlen prüfen können, prüfen CASE-Anweisungen nur exakte Wertübereinstimmungen. Daher sind IF-Anweisungen flexibler und eignen sich für komplexere Logik. Allerdings bieten CASE-Anweisungen eine bessere Lesbarkeit und Performance als IF. CASE ist ideal, wenn die Daten nur einfache Transformationen benötigen.
Sollte ich die bedingte Funktion formatieren?
Auch wenn Tableau (noch) keine automatische Formatierung für berechnete Felder bietet, lohnt sich manuelles Formatieren für die Lesbarkeit, zum Beispiel:
- Kommentare: Nutze // für einzeilige Kommentare und /* <...> */ für mehrzeilige Kommentare.
- Zeilenumbrüche und Einrückungen: Füge Umbrüche und Einrückungen ein, damit andere im Workbook die verschiedenen Logikebenen in der Visualisierung schnell nachvollziehen können.
Was ist der Unterschied zwischen IF und IIF?
Der Hauptunterschied zwischen der IF-Anweisung und der IIF-Funktion: Erstere kann mehrere Bedingungen prüfen und je nach Ergebnis unterschiedliche Werte zurückgeben, während letztere immer nur eine Bedingung prüft und einen von zwei Werten liefert. Mit IF-Anweisungen lässt sich also komplexere Logik abbilden, IIF eignet sich hingegen für einfache Fälle, bei denen Klarheit und Kürze im Vordergrund stehen.
Warum nicht einfach Tableaus eingebaute Parameter- und Filterfunktionen nutzen?
In manchen Fällen reichen Filter und Parameter nicht aus, um die Daten zu analysieren. Wie in unserem Tutorial Calculating Fields in Tableau erläutert, musst du manchmal neue Variablen erstellen, um Lücken zu schließen, bevor du analysieren kannst. Häufig fallen die nötigen Transformationen in folgende fünf Kategorien:
- Segmentierung deiner Daten
- Umwandlung von Datentypen, z. B. String in Datum oder Integer in Float
- Aggregation von Daten
- Filtern von Ergebnissen
- Berechnung von Verhältnissen
