Bedingte Ausdrücke

Mit Bedingungsausdrücken können Sie Ausdrücke erstellen, die Werte konvertieren.

Die in diesem Abschnitt beschriebenen Bedingungsausdrücke sind Bausteine zum Erstellen von Ausdrücken, die einen Wert von einer Form in eine andere konvertieren.

Befolgen Sie dabei diese Regeln:

  • In CASE-Anweisungen ist AND vorrangig gegenüber OR.
  • Zeichenfolgen müssen in einfachen Anführungszeichen stehen.
Ausdruck Beispiel Beschreibung Syntax

CASE (If)

CASE

WHEN score-par < 0 THEN 'Under Par'

WHEN score-par = 0 THEN 'Par'

WHEN score-par = 1 THEN 'Bogey'

WHEN score-par = 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

Wertet jede WHEN-Bedingung aus; wenn sie erfüllt wird, wird der Wert in dem entsprechenden THEN-Ausdruck zugewiesen.

Wenn keine der WHEN-Bedingungen erfüllt wird, wird der im ELSE-Ausdruck angegebene Standardwert zugewiesen. Wenn kein ELSE-Ausdruck angegeben wurde, fügt das System automatisch einen ELSE NULL hinzu.

Hinweis: Siehe Best Practices für die Verwendung von CASE-Anweisungen in Analysen und Visualisierungen.

CASE WHEN request_condition1 THEN expr1 ELSE expr2 END

CASE (Switch)

CASE Score-par

WHEN -5 THEN 'Birdie on Par 6'

WHEN -4 THEN 'Must be Tiger'

WHEN -3 THEN 'Three under par'

WHEN -2 THEN 'Two under par'

WHEN -1 THEN 'Birdie'

WHEN 0 THEN 'Par'

WHEN 1 THEN 'Bogey'

WHEN 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

Wird auch als CASE (Lookup) bezeichnet. Der Wert des ersten Ausdrucks wird geprüft, danach werden die WHEN-Ausdrücke geprüft. Wenn der erste Ausdruck mit einem WHEN-Ausdruck übereinstimmt, wird der Wert in dem entsprechenden THEN-Ausdruck zugewiesen.

Wenn keine Übereinstimmung mit einem WHEN-Ausdruck vorliegt, wird der im ELSE-Ausdruck angegebene Standardwert zugewiesen. Wenn kein ELSE-Ausdruck angegeben wurde, fügt das System automatisch einen ELSE NULL hinzu.

Wenn der Ausdruck mit einem Ausdruck in mehreren WHEN-Klauseln übereinstimmt, wird nur der Ausdruck im Anschluss an die erste Übereinstimmung zugewiesen.

Hinweis Siehe Best Practices für die Verwendung von CASE-Anweisungen in Analysen und Visualisierungen.

CASE expr1 WHEN expr2 THEN expr3 ELSE expr4 END

IfCase > ELSE

-

-

ELSE [expr]

IfCase > IFNULL

-

-

IFNULL([expr], [value])

IfCase > NULLIF

-

-

NULLIF([expr], [expr])

IfCase > WHEN

-

-

WHEN [Condition] THEN [expr]

IfCase > CASE

-

-

CASE WHEN [Condition] THEN [expr] END

SwitchCase > ELSE

-

-

ELSE [expr]

SwitchCase >IFNULL

-

-

IFNULL([expr], [value])

SwitchCase > NULLIF

-

-

NULLIF([expr], [expr])

SwitchCase > WHEN

-

-

WHEN [Condition] THEN [expr]

Best Practices für die Verwendung von CASE-Anweisungen in Analysen und Visualisierungen

Beachten Sie bei der Verwendung von CASE-Anweisungen in Berichten und Arbeitsmappen die Berichtsspalten und die Aggregationsreihenfolge. Diese Faktoren wirken sich auf die Berechnung von Ausdrücken und Zwischensummen aus.

  • Stellen Sie im Allgemeinen bei der Verwendung von CASE-Ausdrücken sicher, dass alle im Ausdruck verwendeten Spalten in den Bericht aufgenommen werden.

  • Wenn die Aggregationsreihenfolge wichtig ist, ändern Sie die Aggregationsregel des Berichts von "Standard" in "Summe".
  • Wenn eine Bedingung ausgewertet werden muss, bevor die Aggregation berechnet wird (z.B. wenn die gefilterte Spalte nicht im Bericht angezeigt wird), verwenden Sie die FILTER-Funktion.

Beispiel

In diesem Beispiel werden Daten für "Brand", "Product Type" und "Revenue" untersucht.
Beschreibung von GUID-5837A210-154F-4FAC-922D-EBF0A21C349A-default.png folgt
.png

Um eine Bedingung anzuwenden, die den Umsatz des Produkts "Camera" auf 0 setzt, erstellen Sie den folgenden bedingten Ausdruck: CASE WHEN Product_Type = ‘Camera’ THEN 0 ELSE Revenue END.

Wenn Sie "Product_Type" aus dem Bericht ausschließen, sind keine Daten für die Auswertung des Ausdrucks verfügbar, da dieser "Product_Type" enthält. Die Ergebnisse lauten dann:
Beschreibung von GUID-22873F41-3679-45DF-821D-4167594FE069-default.png folgt
.png

Wenn Sie PRODUCT_TYPE zum Bericht hinzufügen und SUM als Berichtsaggregation festlegen, werden die Ergebnisse nach der Berechnung der Basisebenenwerte aggregiert:
Beschreibung von GUID-0BEEE7E1-73CE-4BAA-98A2-683830E18E12-default.png folgt
.png

Alternativ zu CASE können Sie einen Filterausdruck verwenden: FILTER(Revenue using Product_Type != ‘Camera’). Der Ausdruck wird unabhängig von Berichtsspalten berechnet, und Aggregationen werden nach der Berechnung angewendet:
Beschreibung von GUID-F428B1A7-A9FF-425B-80F1-BB709769CE5C-default.png folgt
.png