Logische Funktionen

In diesem Artikel werden logische Funktionen und deren Verwendung in Tableau vorgestellt. Außerdem wird das Erstellen einer logischen Berechnung anhand eines Beispiels dargestellt.

Warum werden logische Berechnungen verwendet?

Mithilfe logischer Berechnungen können Sie bestimmen, ob eine bestimmte Bedingung wahr oder falsch ist (boolesche Logik). So möchten Sie etwa schnell sehen, ob die Umsätze der einzelnen Länder, in denen Sie Ihre Güter vertreiben, über oder unter einem bestimmten Schwellenwert liegen.

Die logische Berechnung sieht in etwa so aus:

SUM(Sales) > 1,000,000

In Tableau verfügbare logische Funktionen:

Funktion

Syntax

Beschreibung

IN<expr1> IN <expr2>

Gibt TRUE zurück, wenn ein Wert in <expr1> mit einem beliebigen Wert in <expr2> übereinstimmt.

Die Werte in <expr2> können ein Satz, eine Liste von Literalwerten oder ein kombiniertes Feld sein.

Beispiele:

SUM([Cost]) IN (1000, 15, 200)

[Field] IN [SET]

AND

IF <expr1> AND <expr2> THEN <then> END

Führt eine logische Verknüpfung von zwei Ausdrücken aus.

Beispiel:

IF (ATTR([Market]) = "New Business" AND SUM([Sales]) > [Emerging Threshold] )THEN "Well Performing"

CASECASE <expression> WHEN <value1> THEN <return1> WHEN <value2> THEN <return2> ... ELSE <default return> END

Führt logische Tests aus und gibt entsprechende Werte zurück. Die Funktion CASE evaluiert expression und führt einen Vergleich mit einer Reihe von Werten, value1, value2 usw., durch und gibt dann ein Ergebnis aus. Wenn ein passender Wert zu expression gefunden wird, gibt CASE den entsprechenden Rückgabewert aus. Wenn es keine Übereinstimmung gibt, wird der standardmäßige Rückgabeausdruck verwendet. Wenn es keinen standardmäßigen Rückgabeausdruck gibt und kein Wert übereinstimmt, wird Null zurückgegeben.

CASE unterstützt auch Wenn-in-Konstruktionen (WHEN IN), wie zum Beispiel:

CASE <expression> WHEN IN <set1> THEN <return1> WHEN IN <combinedfield> THEN <return2> ... ELSE <default> END

Die Werte, mit denen WHEN IN vergleichen soll, müssen ein Satz, eine Liste von Literalwerten oder ein kombiniertes Feld sein.

Zusätzliche Bemerkungen

  • CASE oder IF: CASE ist meist einfacher zu verwenden als IF oder IF THEN ELSE. Eine IF-Funktion führt meist eine Folge von beliebigen Tests durch, und eine CASE-Funktion sucht nach einer Übereinstimmung für einen Ausdruck. Eine CASE-Funktion kann jedoch immer in eine IF-Funktion umgeschrieben werden, auch wenn die CASE-Funktion im Allgemeinen kompakter ist.
  • CASE oder Gruppen: In vielen Fällen können Sie eine Gruppe verwenden, um die gleichen Ergebnisse wie mit einer komplizierten CASE-Funktion zu erhalten. Vielleicht möchten Sie sehen, was für Ihr Szenario leistungsstärker ist.

Beispiele:

CASE [Region] WHEN 'West' THEN 1 WHEN 'East' THEN 2 ELSE 3 END

CASE LEFT(DATENAME('weekday',[Order Date]),3) WHEN 'Sun' THEN 0 WHEN 'Mon' THEN 1 WHEN 'Tue' THEN 2 WHEN 'Wed' THEN 3 WHEN 'Thu' THEN 4 WHEN 'Fri' THEN 5 WHEN 'Sat' THEN 6 END

ELSEIF <expr> THEN <then> ELSE <else> END

Prüft eine Serie von Ausdrücken und gibt den Wert <then> für den ersten wahren Ausdruck (<expr>) zurück.

Beispiel:

If [Profit] > 0 THEN 'Profitable' ELSE 'Loss' END

ELSEIFIF <expr> THEN <then> [ELSEIF <expr2> THEN <then2>...] [ELSE <else>] END

Prüft eine Serie von Ausdrücken und gibt den Wert <then> für den ersten wahren Ausdruck (<expr>) zurück.

Beispiel:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END

ENDIF <expr> THEN <then> [ELSEIF <expr2> THEN <then2>...] [ELSE <else>] END

Prüft eine Serie von Ausdrücken und gibt den Wert <then> für den ersten wahren Ausdruck (<expr>) zurück. Muss am Ende eines Ausdrucks platziert werden.

Beispiel:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END

IFIF <expr> THEN <then> [ELSEIF <expr2> THEN <then2>...] [ELSE <else>] END

Prüft eine Serie von Ausdrücken und gibt den Wert <then> für den ersten wahren Ausdruck (<expr>) zurück.

Beispiel:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END

IFNULLIFNULL(expr1, expr2)

Gibt den Ausdruck <expr1> zurück, sofern er nicht null ist; andernfalls wird der Ausdruck <expr2> zurückgegeben.

Beispiel:

IFNULL([Profit], 0)

IIFIIF(test, then, else, [unknown])

Prüft, ob eine Bedingung erfüllt wird, und gibt einen Wert zurück, wenn diese wahr (TRUE) ist, einen anderen Wert, wenn diese falsch (FALSE) ist, und optional einen dritten Wert oder NULL, wenn diese unbekannt ist.

Beispiel:

IIF([Profit] > 0, 'Profit', 'Loss')

ISDATEISDATE(string)

Gibt "true" zurück, wenn eine angegebene Zeichenfolge ein gültiges Datum darstellt.

Beispiel:

ISDATE("2004-04-15") = True

ISNULLISNULL(expression)

Gibt "true" zurück, wenn der Ausdruck NULL ist (keine gültigen Daten enthält).

Beispiel:

ISNULL([Profit])

MAXMAX(expression) oder Max(expr1, expr2)

Gibt den Maximalwert eines einzelnen Ausdrucks über alle Datensätze hinweg oder den Maximalwert von zwei Ausdrücken für jeden Datensatz zurück.

Beispiel:

MAX([Sales])

MINMIN(expression) oder MIN(expr1, expr2)

Gibt den Minimalwert eines Ausdrucks über alle Datensätze hinweg oder den Minimalwert von zwei Ausdrücken für jeden Datensatz zurück.

Beispiel:

MIN([Profit])

NOTIF NOT <expr> THEN <then> END

Führt eine logische Negation eines Ausdrucks durch.

Beispiel:

IF NOT [Profit] > 0 THEN "Unprofitable" END

ORIF <expr1> OR <expr2> THEN <then> END

Führt eine logische Disjunktion von zwei Ausdrücken aus.

Beispiel:

IF [Profit] < 0 OR [Profit] = 0 THEN "Needs Improvement" END

THENIF <expre> THEN <then> [ELSEIF ,expr2> THEN <then2>...] [ELSE <else>] END

Prüft eine Serie von Ausdrücken und gibt den Wert <then> für den ersten wahren Ausdruck (<expr>) zurück.

Beispiel:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break even' ELSE 'unprofitable' END

WHENCASE <expr> WHEN <Value1> THEN <return1> ... [ELSE <else>] END

Sucht den ersten Wert <value>, der mit dem Ausdruck <expr> übereinstimmt, und gibt dann den entsprechenden Rückgabewert <return> zurück.

Beispiel:

CASE [RomanNumberal] WHEN 'I' THEN 1 WHEN 'II' THEN 2 ELSE 3 END

ZNZN(expression)

Gibt den Ausdruck <expression> zurück, sofern er nicht null ist; andernfalls wird 0 zurückgegeben.

Beispiel:

ZN([Profit])


Hinweis: Einige davon sind nämlich logische Operatoren und erscheinen in Schwarz, nicht in Blau. Weitere Informationen finden Sie unter Operatorsyntax.

Erstellen einer logischen Berechnung

Sehen Sie sich die nachfolgend aufgeführten Schritte an, um mehr über das Erstellen einer logischen Berechnung zu erfahren.

  1. Stellen Sie in Tableau Desktop eine Verbindung zur standardmäßig in Tableau enthaltenen gespeicherten Datenquelle Beispiel – Superstore her.

  2. Navigieren Sie zu einem Arbeitsblatt.

  3. Ziehen Sie den Wert Staat aus dem Bereich Daten in den Zeilen-Container.

  4. Ziehen Sie den Wert Kategorie aus dem Bereich Daten in den Zeilen-Container, und platzieren Sie ihn rechts neben dem Wert "Staat".

  5. Ziehen Sie den Wert Umsatz aus dem Bereich Daten in den Spalten-Container.

  6. Wählen Sie Analyse > Berechnetes Feld erstellen aus.

  7. Gehen Sie in dem anschließend geöffneten Berechnungs-Editor wie folgt vor:

    • Geben Sie dem berechneten Feld den Namen "KPI".

    • Geben Sie die folgende Formel ein:

      SUM([Profit]) > 0

      Mit dieser Berechnung überprüfen Sie schnell, ob ein Element größer als 0 ist. Ist dies der Fall, wird "true" zurückgegeben, wenn nicht, wird "false" zurückgegeben.

    • Klicken Sie auf OK, wenn Sie fertig sind.

      Das neue berechnete Feld wird unter "Kennzahlen" im Datumsbereich angezeigt. Wie bei Ihren anderen Feldern können Sie es in einer oder mehreren Visualisierungen verwenden.

  8. Ziehen Sie den Wert KPI aus dem Bereich Daten in den Bereich Farbe auf der Karte "Markierungen".

    Sie können nun sehen, in welchen Kategorien die einzelnen Staaten Umsatzeinbußen haben.

Siehe auch

Visualisieren von wichtigen Fortschrittsindikatoren

Funktionen in Tableau

Tableau-Funktionen (nach Kategorie)

Tableau-Funktionen (alphabetisch)

Vielen Dank für Ihr Feedback!