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). Beispielsweise möchten Sie vielleicht Werte basierend auf bestimmten Grenzwerten kategorisieren.

Eine logische Berechnung sieht in etwa so aus:

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

In Tableau verfügbare logische Funktionen und Operatoren

AND

Syntax<expr1> AND <expr2>
DefinitionFührt eine logische Verknüpfung von zwei Ausdrücken aus. (Wenn beide Seiten wahr sind, gibt der logische Test "true" zurück.)
AusgabeBoolesch (TRUE oder FALSE)
Beispiel
IF [Season] = "Spring" AND "[Season] = "Fall" 
THEN "It's the apocalypse and footwear doesn't matter"
END

"Wenn sowohl (Jahreszeit = Frühling) als auch (Jahreszeit = Herbst) gleichzeitig wahr sind, gib 'It's the apocalypse and footwear doesn't matter' (Das ist die Apokalypse und Schuhe spielen keine Rolle mehr) zurück.“

Hinweise

Wird oft mit IF und IIF verwendet. Siehe auch NOT und OR.

Wenn für beide Ausdrücke TRUE zurückgegeben wird (d. h. nicht FALSE oder NULL), ist das Ergebnis TRUE. Wenn für einen der beiden Ausdrücke NULL zurückgegeben wird, ist das Ergebnis NULL. In allen anderen Fällen ist das Ergebnis FALSE.

Wenn Sie eine Berechnung erstellen, in der das Ergebnis eines AND-Vergleichs in einem Arbeitsblatt angezeigt wird, zeigt Tableau TRUE und FALSE. Sie können dies ändern, indem Sie im Dialogfeld "Formatieren" die entsprechende Einstellung vornehmen.

Hinweis: Der Operator AND nutzt eine Kurzschlussauswertung. Das bedeutet, dass der zweite Ausdruck nicht mehr ausgewertet wird, wenn für den ersten Ausdruck FALSE zurückgegeben wird. Dies kann hilfreich sein, wenn der zweite Ausdruck zu einem Fehler führt, während für den ersten Ausdruck FALSE zurückgegeben wird. Denn in diesem Fall wird der zweite Ausdruck nie ausgewertet.

CASE

SyntaxCASE <expression>
WHEN <value1> THEN <then1>
WHEN <value2> THEN <then2>
...
[ELSE <default>]
END
AusgabeHängt vom Datentyp der <then>-Werte ab.
Definition

Bewertet den Ausdruck (expression) und vergleicht ihn mit den angegebenen Optionen (<value1>, <value2> usw.). Wenn ein passender Wert (value) gefunden wird, gibt CASE den zugehörigen Rückgabewert (return) zurück. Wenn keine Übereinstimmung gefunden wird, wird der (optionale) Standardwert zurückgegeben. Wenn es keinen solchen Standardwert gibt und kein Wert übereinstimmt, wird Null zurückgegeben.

Beispiel
CASE [Season] 
WHEN 'Summer' THEN 'Sandals'
WHEN 'Winter' THEN 'Boots'
ELSE 'Sneakers'
END

"Betrachte das Feld 'Season' (Jahreszeit). Wenn der Wert 'Summer' (Sommer) lautet, gib 'Sandals' (Sandalen) zurück. Wenn der Wert 'Winter' lautet, gib 'Boots' (Stiefel) zurück. Wenn keine der Optionen in der Berechnung mit den Angaben im Feld 'Season' übereinstimmt, gib 'Sneakers' (Turnschuhe) zurück."

Hinweise

Siehe auch IF und IIF.

Verwendet mit WHEN, THEN, ELSE und END.

Tipp: Oft können Sie eine Gruppe verwenden, um die gleichen Ergebnisse wie eine komplizierte CASE-Funktion zu erzielen, oder Sie können CASE verwenden, um wie im vorherigen Beispiel die native Gruppierungsfunktion zu ersetzen. Wir empfehlen zu prüfen, welche Variante für Ihr Szenario die bessere Leistung erzielt.

ELSE

SyntaxCASE <expression>
WHEN <value1> THEN <then1>
WHEN <value2> THEN <then2>
...
[ELSE <default>]
END
DefinitionEin optionaler Teil eines IF- oder CASE-Ausdrucks, mit dem ein Standardwert festgelegt wird, der zurückgegeben werden soll, wenn keiner der getesteten Ausdrücke wahr ist.
Beispiel
IF [Season] = "Summer" THEN 'Sandals' 
ELSEIF [Season] = "Winter" THEN 'Boots'
ELSE 'Sneakers' 
END
CASE [Season] 
WHEN 'Summer' THEN 'Sandals'
WHEN 'Winter' THEN 'Boots'
ELSE 'Sneakers'
END
Hinweise

Verwendet mit CASE, WHEN, IF, ELSEIF, THEN und END

ELSE ist mit CASE und IF optional. In einer Berechnung, in der ELSE nicht festgelegt ist, wird für die Gesamtberechnung null zurückgeben, wenn kein <test> wahr ist.

ELSE erfordert keine Bedingung (wie z. B. [Season] = "Winter") und kann als eine Form der Null-Verarbeitung betrachtet werden.

ELSEIF

Syntax[ELSEIF <test2> THEN <then2>]
DefinitionEin optionaler Teil eines IF-Ausdrucks, mit dem Bedingungen zusätzlich zum ursprünglichen IF festgelegt werden.
Beispiel
IF [Season] = "Summer" THEN 'Sandals' 
ELSEIF [Season] = "Winter" THEN 'Boots'
ELSEIF [Season] = "Spring" THEN 'Sneakers'
ELSEIF [Season] = "Autumn" THEN 'Sneakers'
ELSE 'Bare feet'
END
Hinweise

Verwendet mit IF, THEN, ELSE und END

ELSEIF kann als zusätzliche IF-Klauseln betrachtet werden. ELSEIF ist optional und kann mehrmals wiederholt werden.

Im Gegensatz zu ELSE erfordert ELSEIF eine Bedingung (z. B. [Season] = "Winter").

END

DefinitionWird zum Schließen eines IF- oder CASE-Ausdrucks verwendet.
Beispiel
IF [Season] = "Summer" THEN 'Sandals' 
ELSEIF [Season] = "Winter" THEN 'Boots'
ELSE 'Sneakers' 
END

"Wenn 'Season' (Jahreszeit) = 'Summer' (Sommer), dann gib 'Sandals' (Sandalen) zurück. Wenn nicht, schau dir den nächsten Ausdruck an. Wenn Jahreszeit = Winter, dann gib 'Boots' (Stiefel) zurück. Wenn keiner der Ausdrücke wahr ist, gib 'Sneakers' (Turnschuhe) zurück.

CASE [Season] 
WHEN 'Summer' THEN 'Sandals'
WHEN 'Winter' THEN 'Boots'
ELSE 'Sneakers'
END

"Betrachte das Feld 'Season' (Jahreszeit). Wenn der Wert 'Summer' (Sommer) lautet, gib 'Sandals' (Sandalen) zurück. Wenn der Wert 'Winter' lautet, gib 'Boots' (Stiefel) zurück. Wenn keine der Optionen in der Berechnung mit den Angaben im Feld 'Season' übereinstimmt, gib 'Sneakers' (Turnschuhe) zurück."

Hinweise

Verwendet mit CASE, WHEN, IF, ELSEIF, THEN und ELSE.

IF

SyntaxIF <test1> THEN <then1>
[ELSEIF <test2> THEN <then2>...]
[ELSE <default>]
END
AusgabeHängt vom Datentyp der <then>-Werte ab.
Definition

Prüft eine Reihe von Ausdrücken und gibt den Wert <then> für den ersten wahren <test> zurück.

Beispiel
IF [Season] = "Summer" THEN 'Sandals' 
ELSEIF [Season] = "Winter" THEN 'Boots'
ELSE 'Sneakers' 
END

"Wenn 'Season' (Jahreszeit) = 'Summer' (Sommer), dann gib 'Sandals' (Sandalen) zurück. Wenn nicht, schau dir den nächsten Ausdruck an. Wenn Jahreszeit = Winter, dann gib 'Boots' (Stiefel) zurück. Wenn keiner der Ausdrücke wahr ist, gib 'Sneakers' (Turnschuhe) zurück.

Hinweise

Siehe auch IF und IIF.

Verwendet mit ELSEIF, THEN, ELSE und END

IFNULL

SyntaxIFNULL(expr1, expr2)
AusgabeHängt vom Datentyp der <expr>-Werte ab.
Definition

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

Beispiel
IFNULL([Assigned Room], "TBD")

"Wenn das Feld 'Assigned Room' (Zugewiesenes Zimmer) nicht null ist, gib seinen Wert zurück. Wenn das Feld 'Assigned Room' null ist, gib stattdessen 'TBD' (Noch nicht festgelegt) zurück."

Hinweise

Vergleich mit ISNULL. IFNULL gibt immer einen Wert zurück. ISNULL gibt einen booleschen Wert (TRUE oder FALSE) zurück.

Siehe auch ZN.

IIF

SyntaxIIF(<test>, <then>, <else>, [<unknown>])
AusgabeHängt vom Datentyp der Werte im Ausdruck ab.
DefinitionPrüft, ob eine Bedingung erfüllt ist (<test>) und gibt <then> zurück, wenn der Test "true" ist, <else>, wenn der Test "false" ist, und einen optionalen Wert für <unknown>, wenn der Test null ist. Wenn die optionale Unbekannte nicht spezifiziert ist, gibt IIF null zurück.
Beispiel
IIF([Season] = 'Summer', 'Sandals', 'Other footwear')

"Wenn 'Season' (Jahreszeit) = 'Summer' (Sommer), dann gib 'Sandals' (Sandalen) zurück. Wenn nicht, gib andere Schuhe zurück"

IIF([Season] = 'Summer', 'Sandals', 
IIF('Season' = 'Winter', 'Boots', 'Other footwear')
)

"Wenn 'Season' (Jahreszeit) = 'Summer' (Sommer), dann gib 'Sandals' (Sandalen) zurück. Wenn nicht, schau dir den nächsten Ausdruck an. Wenn Jahreszeit = Winter, dann gib 'Boots' (Stiefel) zurück. Wenn beides nicht zutrifft, gib 'Sneakers' (Turnschuhe) zurück."

IIF('Season' = 'Summer', 'Sandals', 
IIF('Season' = 'Winter', 'Boots',
IIF('Season' = 'Spring', 'Sneakers', 'Other footwear')
)
)

"Wenn 'Season' (Jahreszeit) = 'Summer' (Sommer), dann gib 'Sandals' (Sandalen) zurück. Wenn nicht, schau dir den nächsten Ausdruck an. Wenn Jahreszeit = Winter, dann gib 'Boots' (Stiefel) zurück. Wenn keiner der Ausdrücke wahr ist, gib 'Sneakers' (Turnschuhe) zurück."

Hinweise

Siehe auch IF und CASE.

IIF hat kein Äquivalent zu ELSEIF (wie IF) und auch keine wiederholten WHEN-Klauseln (wie CASE). Stattdessen können mehrere Tests nacheinander ausgewertet werden, indem IIF-Aussagen als das Element <unknown> verschachtelt werden. Das erste (äußerste) "true" wird zurückgegeben.

Das heißt, in der folgenden Berechnung ist das Ergebnis rot und nicht orange, da der Ausdruck nicht weiter ausgewertet wird, sobald A=A als wahr ausgewertet wird:

IIF('A' = 'A', 'Red', IIF('B' = 'B', 'Orange', IIF('C' = 'D', 'Yellow', 'Green')))

IN

Syntax<expr1> IN <expr2>
AusgabeBoolesch (TRUE oder FALSE)
DefinitionGibt TRUE zurück, wenn ein beliebiger Wert in <expr1> mit einem beliebigen Wert in <expr2> übereinstimmt.
Beispiel
SUM([Cost]) IN (1000, 15, 200)

"Ist der Wert des Kostenfelds 1000, 15 oder 200?"

[Field] IN [Set]

"Ist der Wert des Felds im Satz vorhanden?"

Hinweise

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

Siehe auch WHEN.

ISDATE

SyntaxISDATE(string)
AusgabeBoolesch (TRUE oder FALSE)
DefinitionGibt "true" zurück, wenn <string> ein gültiges Datum ist. Der Eingabeausdruck muss ein Zeichenfolgenfeld (Textfeld) sein.
Beispiel
ISDATE("2018-09-22")

"Ist die Zeichenfolge 2018-09-22 ein korrekt formatiertes Datum?"

Hinweise

Was als gültiges Datum gilt, hängt vom Gebietsschema(Link wird in neuem Fenster geöffnet) des Systems ab, das die Berechnung auswertet. Beispiel:

In den USA:

  • ISDATE("2018-09-22") = TRUE
  • ISDATE("2018-22-09") = FALSE

Im Vereinigten Königreich:

  • ISDATE("2018-09-22") = FALSE
  • ISDATE("2018-22-09") = TRUE

ISNULL

SyntaxISNULL(expression)
AusgabeBoolesch (TRUE oder FALSE)
Definition

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

Beispiel
ISNULL([Assigned Room])

"Ist das Feld 'Assigned Room" (Zugewiesenes Zimmer) null?"

Hinweise

Vergleichen Sie dieses mit IFNULL. IFNULL gibt immer einen Wert zurück. ISNULL gibt einen booleschen Wert zurück.

Siehe auch ZN.

MAX

SyntaxMAX(expression) oder MAX(expr1, expr2)
AusgabeGleicher Datentyp wie das Argument oder NULL , wenn ein Teil des Arguments null ist.
Definition

Gibt den Maximalwert der zwei Argumente zurück, die vom selben Datentyp sein müssen.

MAX kann auch auf ein einzelnes Feld als Aggregation angewendet werden.

Beispiel
MAX(4,7) = 7
MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021#
MAX([Name]) = "Zander"
Hinweise

Für Zeichenfolgen

MAX ist normalerweise der Wert, der in alphabetischer Reihenfolge an letzter Stelle steht.

Bei Datenquellen einer Datenbank ist der Zeichenfolgenwert MAX in der Sortierfolge am höchsten und wird von der Datenbank für diese Spalte definiert.

Für Datumsangaben

Für Datumsangaben ist MAX das aktuellste Datum. Wenn MAX eine Aggregation ist, weist das Ergebnis keine Datumshierarchie auf. Wenn MAX ein Vergleich ist, behält das Ergebnis die Datumshierarchie bei.

Als Aggregation

MAX(expression) ist eine Aggregatfunktion und gibt ein einziges aggregiertes Ergebnis zurück. Dieses wird in der Visualisierung als AGG(expression) angezeigt.

Als Vergleich

MAX(expr1, expr2) vergleicht die beiden Werte und gibt einen Wert auf Zeilenebene zurück.

Siehe auch MIN.

MIN

SyntaxMIN(expression) oder MIN(expr1, expr2)
AusgabeGleicher Datentyp wie das Argument oder NULL , wenn ein Teil des Arguments null ist.
Definition

Gibt den Minimalwert der zwei Argumente zurück, die vom selben Datentyp sein müssen.

MIN kann auch auf ein einzelnes Feld als Aggregation angewendet werden.

Beispiel
MIN(4,7) = 4
MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#
MIN([Name]) = "Abebi"
Hinweise

Für Zeichenfolgen

MIN ist normalerweise der Wert, der in alphabetischer Reihenfolge an erster Stelle steht.

Bei Datenquellen einer Datenbank ist der Zeichenfolgenwert MIN in der Sortierfolge am niedrigsten und wird von der Datenbank für diese Spalte definiert.

Für Datumsangaben

Für Datumsangaben ist MIN das früheste Datum. Wenn MIN eine Aggregation ist, weist das Ergebnis keine Datumshierarchie auf. Wenn MIN ein Vergleich ist, behält das Ergebnis die Datumshierarchie bei.

Als Aggregation

MIN(expression) ist eine Aggregatfunktion und gibt ein einziges aggregiertes Ergebnis zurück. Dieses wird in der Visualisierung als AGG(expression) angezeigt.

Als Vergleich

MIN(expr1, expr2) vergleicht die beiden Werte und gibt einen Wert auf Zeilenebene zurück.

Siehe auch MAX.

NOT

SyntaxNOT <expression>
AusgabeBoolesch (TRUE oder FALSE)
DefinitionFührt eine logische Negation eines Ausdrucks durch.
Beispiel
IF NOT [Season] = "Summer" 
THEN 'Don't wear sandals'
ELSE 'Wear sandals' 
END

"Wenn die 'Season' (Jahreszeit) nicht gleich 'Summer' (Sommer) ist, dann gib 'Don't wear sandals' (Keine Sandalen tragen) zurück. Wenn nicht, gib 'Wear sandals' (Trag Sandalen) zurück."

Hinweise

Wird oft mit IF und IIF verwendet. Siehe auch AND und OR.

OR

Syntax<expr1> OR <expr2>
AusgabeBoolesch (TRUE oder FALSE)
DefinitionFührt eine logische Disjunktion von zwei Ausdrücken aus.
Beispiel
IF [Season] = "Spring" OR [Season] = "Fall" 
THEN "Sneakers"
END

"Wenn entweder (Jahreszeit = Spring) oder (Season = Fall) (Jahreszeit= Herbst) zutrifft, dann gib 'Sneakers' (Turnschuhe) zurück."

Hinweise

Wird oft mit IF und IIF verwendet. Siehe auch AND und NOT.

Wenn für einen der beiden Ausdrücke TRUE zurückgegeben wird, ist das Ergebnis TRUE. Wenn für beide Ausdrücke FALSE zurückgegeben wird, ist das Ergebnis FALSE. Wenn für beide Ausdrücke NULL zurückgegeben wird, ist das Ergebnis NULL.

Wenn Sie eine Berechnung erstellen, in der in einem Arbeitsblatt das Ergebnis eines OR-Vergleichs angezeigt wird, wird von Tableau TRUE und FALSE angezeigt. Sie können dies ändern, indem Sie im Dialogfeld "Formatieren" die entsprechende Einstellung vornehmen.

Hinweis: Der Operator OR nutzt eine Kurzschlussauswertung. Das bedeutet, dass der zweite Ausdruck nicht mehr ausgewertet wird, wenn für den ersten Ausdruck TRUE zurückgegeben wird. Dies kann hilfreich sein, wenn der zweite Ausdruck zu einem Fehler führt, während für den ersten Ausdruck TRUE zurückgegeben wird. Denn in diesem Fall wird der zweite Ausdruck nie ausgewertet.

THEN

SyntaxIF <test1> THEN <then1>
[ELSEIF <test2> THEN <then2>...]
[ELSE <default>]
END
DefinitionEin erforderlicher Teil eines IF-, ELSEIF- oder CASE-Ausdrucks, mit dem definiert wird, welches Ergebnis zurückgegeben werden soll, wenn ein bestimmter Wert oder Test "true" ist.
Beispiel
IF [Season] = "Summer" THEN 'Sandals' 
ELSEIF [Season] = "Winter" THEN 'Boots'
ELSE 'Sneakers' 
END

"Wenn 'Season' (Jahreszeit) = 'Summer' (Sommer), dann gib 'Sandals' (Sandalen) zurück. Wenn nicht, schau dir den nächsten Ausdruck an. Wenn Jahreszeit = Winter, dann gib 'Boots' (Stiefel) zurück. Wenn keiner der Ausdrücke wahr ist, gib 'Sneakers' (Turnschuhe) zurück.

CASE [Season] 
WHEN 'Summer' THEN 'Sandals'
WHEN 'Winter' THEN 'Boots'
ELSE 'Sneakers'
END

"Betrachte das Feld 'Season' (Jahreszeit). Wenn der Wert 'Summer' (Sommer) lautet, gib 'Sandals' (Sandalen) zurück. Wenn der Wert 'Winter' lautet, gib 'Boots' (Stiefel) zurück. Wenn keine der Optionen in der Berechnung mit den Angaben im Feld 'Season' übereinstimmt, gib 'Sneakers' (Turnschuhe) zurück."

Hinweise

Verwendet mit CASE, WHEN, IF, ELSEIF, THEN, ELSE und END

WHEN

SyntaxCASE <expression>
WHEN <value1> THEN <then1>
WHEN <value2> THEN <then2>
...
[ELSE <default>]
END
DefinitionEin erforderlicher Teil eines CASE-Ausdrucks. Sucht den ersten <value>, der mit <expression> übereinstimmt, und gibt den entsprechenden <then>-Wert zurück.
Beispiel
CASE [Season] 
WHEN 'Summer' THEN 'Sandals'
WHEN 'Winter' THEN 'Boots'
ELSE 'Sneakers'
END

"Betrachte das Feld 'Season' (Jahreszeit). Wenn der Wert 'Summer' (Sommer) lautet, gib 'Sandals' (Sandalen) zurück. Wenn der Wert 'Winter' lautet, gib 'Boots' (Stiefel) zurück. Wenn keine der Optionen in der Berechnung mit den Angaben im Feld 'Season' übereinstimmt, gib 'Sneakers' (Turnschuhe) zurück."

Hinweise

Verwendet mit CASE, THEN, ELSE und END.

CASE unterstützt auch WHEN IN-Konstruktionen, wie zum Beispiel:

CASE <expression> 
WHEN IN <set1> THEN <then1>
WHEN IN <combinedfield> THEN <then2>
...
ELSE <default>
END

Die Werte, mit denen WHEN IN verglichen wird, können ein Satz, eine Liste von Literalwerten oder ein kombiniertes Feld sein. Siehe auch IN.

ZN

SyntaxZN(expression)
AusgabeAbhängig vom Datentyp von <expression> oder 0.
DefinitionGibt <expression> zurück, sofern dieser nicht null ist; andernfalls wird 0 zurückgegeben.
Beispiel
ZN([Test Grade])

"Wenn 'Test Grade' (Testnote) nicht null ist, gib ihren Wert zurück. Wenn 'Test Grade' null ist, gib 0 zurück."

Hinweise

ZN ist ein Spezialfall von IFNULL, wobei die Alternative, wenn der Ausdruck null ist, immer 0 ist, anstatt in der Berechnung spezifiziert zu werden.

ZN ist besonders nützlich, wenn zusätzliche Berechnungen durchgeführt werden und die gesamte Berechnung durch einen Nullwert null ergeben würde. Seien Sie jedoch vorsichtig bei der Interpretation dieser Ergebnisse, da null nicht immer gleichbedeutend mit 0 ist und auf fehlende Daten hinweisen könnte.

Siehe auch ISNULL.


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

Hinweis zu CASE, IF und IIF

CASE ist oft einfacher anzuwenden als IF oder IIF. In vielen Fällen können IF, IIF und CASE austauschbar verwendet werden. Eine CASE-Anweisung kann immer in eine IF-Anweisung umgeschrieben werden, auch wenn die CASE-Funktion im Allgemeinen prägnanter und leichter verständlich ist. Allerdings können nicht alle IF-Anweisungen als CASE-Anweisungen geschrieben werden, da sich jedes ELSEIF auf ein anderes Feld beziehen könnte.

Tipp: Vergleichen wir ein Beispiel mit derselben Logik für diese drei Funktionen:

CASEIFIIF
CASE [Region]
WHEN 'West' THEN 1
WHEN 'East' THEN 2
WHEN 'South' THEN 3
WHEN 'North' Then 4
ELSE 5
END
IF [Region] = 'West' THEN 1
ELSEIF [Region] = 'East' THEN 2
ELSEIF [Region] = 'South' THEN 3
ELSEIF [Region] = 'North' THEN 4
ELSE 5
END
IIF([Region] = 'West', 1,
IIF([Region] = 'East', 2,
IIF([Region] = 'South', 3,
IIF([Region] = 'North', 4,
5, 0)
)
)
)

Die CASE-Struktur ist sehr einfach und leicht zu schreiben und zu verstehen. Allerdings kann der Ausdruck (hier [Region]) im Gegensatz zu IF oder IIF keine logische Operation sein.

Nullen werden für CASE genauso behandelt wie für IF.

Die Struktur von IF THEN lässt mehrere ELSEIF-Klauseln zu, was Mehrfachauswertungen viel einfacher macht als mit IIF.

Nullbehandlung: Alle unbekannten (Null-)Ergebnisse werden von derselben ELSE-Klausel behandelt wie falsche Ergebnisse. Hier wird jeder Region außer den vier angegebenen (einschließlich Null) der Wert 5 zugewiesen.

Die IIF-Struktur behandelt unbekannte Ergebnisse anders als falsche Ergebnisse und hat eine andere Syntax als IF. Der Nachteil der spezifischen Nullbehandlung ist die Verschachtelung, wie oben beschrieben, die schwer zu schreiben und zu verstehen sein kann.

Nullbehandlung: Jedem anderen als den vier angegebenen Nicht-Null-Bereichen wird der Wert 5 zugewiesen, einem Nullwert wird jedoch eine 0 zugewiesen.

Hinweis: Oftmals können Sie eine Gruppe verwenden, um die gleichen Ergebnisse wie mit einer komplizierten CASE-Funktion zu erhalten. Testen Sie, ob eine Option leistungsfähiger ist als die andere.

Beispiele

CASE-Funktionen können für Szenarien wie das erneute Aliasing nützlich sein:

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

Oder um dem Endbenutzer die Möglichkeit zu geben, auszuwählen, welche Kennzahl in einem Diagramm angezeigt werden soll, wenn es mit einem Parameter(Link wird in neuem Fenster geöffnet) verwendet wird:

CASE [Choose a Measure]
WHEN "Sales" THEN SUM([Sales])
WHEN "Profit" THEN AVG([Profit])
WHEN "Quantity" THEN COUNT([Quantity])
WHEN "Shipping Cost" THEN MEDIAN([Shipping Cost])
END

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.
  8. 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.

  9. 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!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.