Benachrichtigung

Diese Hilfe wird in die Cloud verschoben. Weitere Informationen zur Migration

searched CASE

Gibt ein Ergebnis auf Basis der Auswertung einer Liste mit Bedingungen zurück.

CASE-Anweisungen werten eine oder mehrere Bedingungen aus und geben ein Ergebnis zurück, wenn die erste Bedingung erfüllt ist, oder ein Standardergebnis, wenn keine der Bedingungen erfüllt ist.

Hinweis: Es gibt zwei Formen der CASE-Anweisung: „searched CASE“ und „simple CASE“. „Searched CASE“-Anweisungen ermöglichen eine komplexere Logik, während „simple CASE“-Anweisungen einfacher zu erstellen sind.

Siehe auch: IF

Themen in diesem Artikel:

Verwendungsbeispiel

CASE wird oft dazu verwendet, neue Datenkategorien oder ‑gruppen zu erstellen. Wenn Sie z. B. bestimmte Länderwerte in einer Dimension namens „Verkaufsgebiet“ gruppieren möchten, könnten Sie die folgende CASE-Anweisung erstellen:

CASE 
    WHEN Country IN ("USA","Canada","Mexico") THEN "North America" 
    WHEN Country IN ("England","France") THEN "Europe" 
    ELSE "Other" 
END

Syntax

CASE
    WHEN condition THEN result
    [WHEN condition THEN result]
    [...]
    [ELSE else_result]
END

Parameter

  • condition: ein logisches Feld oder ein logischer Ausdruck. Mit WHEN-Anweisungen wird eine condition ausgewertet. Ist die Bedingung erfüllt, wird „true“ zurückgegeben, sonst „false“.

  • result: ein Feld oder Ausdruck eines beliebigen Typs. Für jede WHEN-Anweisung muss eine übereinstimmende THEN-Anweisung angegeben werden. Sie legt fest, welche Ergebnisse zurückgegeben werden, wenn die condition WHEN zutrifft. Bei mehreren WHEN-Anweisungen gibt die CASE-Anweisung das result für die erste wahre condition zurück.

  • else_result (optional): ein Feld oder Ausdruck eines beliebigen Typs. Die ELSE-Anweisung else_result gibt ein Standardergebnis für die CASE-Anweisung an. Sie wird zurückgegeben, falls keine der WHEN-Anweisungen erfüllt ist. Wenn eine CASE-Anweisung keine ELSE-Anweisung enthält und keine der WHEN-Anweisungen zutrifft, wird bei der CASE-Anweisung der Wert NULL zurückgegeben.

Eine CASE-Anweisung kann nur eine ELSE-Anweisung enthalten.

Hinweis: Alle THEN-Anweisungen in einer CASE-Anweisung müssen denselben Datentyp zurückgeben. Wenn beispielsweise die erste THEN-Anweisung den Datentyp Text zurückgibt, muss auch in zusätzlichen THEN-Anweisungen der Fall sein.

Funktionsweise von „searched CASE

Eine „searched CASE“-Anweisung beginnt mit dem Begriff CASE und endet mit dem Begriff END. Dazwischen befinden sich die einzelnen Abschnitte oder Anweisungen:

  • WHEN ist eine Bedingung, die ausgewertet werden soll. Eine einzelne CASE-Anweisung kann mehrere WHEN-Anweisungen enthalten.
  • THEN ist das Ergebnis, das zurückgegeben werden soll, wenn die Bedingung der WHEN-Anweisung erfüllt ist. Für jede WHEN-Anweisung in der CASE-Anweisung muss es eine THEN-Anweisung geben.
  • ELSE (optional): Wenn keine der WHEN-Anweisungen zutrifft, gibt CASE den Wert der ELSE-Anweisung zurück, oder NULL, wenn keine ELSE-Anweisung festgelegt ist.

CASE wertet WHEN-Anweisungen der Reihe nach aus und gibt das erste Ergebnis zurück, bei dem die Bedingung erfüllt ist. Die verbleibenden WHEN-Anweisungen und das ELSE-Ergebnis werden nicht ausgewertet. Wenn alle WHEN-Bedingungen „false“ oder NULL sind, gibt CASE das ELSE-Ergebnis zurück. Wenn in diesem Fall keine ELSE-Anweisung festgelegt wurde, wird NULL zurückgegeben.

Beispiele

Nach Ungleichheit suchen

CASE WHEN Medium != "cpc" THEN "free" ELSE "paid" END
Für einfache Szenarien bietet sich die IF-Funktion an.

Numerische Dimensionswerte in separate Buckets einteilen

Beispielsweise könnten Sie Bestellungen je nach Bestellwert in „Small“, „Medium“ und „Large“ unterteilen:

    
CASE
    WHEN Amount < 20 THEN "Small"
    WHEN Amount >= 20 and Amount < 100 THEN "Medium"
    WHEN Amount >= 100 THEN "Large"
END
Sie können auch ein berechnetes Feld für eine Gruppe verwenden, um Ad-hoc-Gruppen für Dimensionswerte zu erstellen.

Eine logische AND-Bedingung auswerten

CASE 
    WHEN Country ISO Code = "US" AND Medium = "cpc" 
    THEN "US - Paid" 
    ELSE "other" 
END

Eine logische AND/OR-Bedingung auswerten

CASE 
    WHEN REGEXP_MATCH(Video Title, ".*Google Analytics*")
    AND is_livestream = TRUE 
    OR Video Length > 600 
    THEN "GA Livestream or long video" 
END

Je nach Parameterwert ein anderes Feld oder einen anderen Wert zurückgeben

Beispiel 1: Es wird eine Dimension auf Grundlage des ausgewählten Parameterwerts zurückgeben. So können Sie Nutzern die Möglichkeit geben, die Dimension für die Aufschlüsselung zu wechseln, die in einem Diagramm verwendet wird.

CASE 
    WHEN Breakdown = "Product Category" THEN Product Category 
    WHEN Breakdown = "Store" THEN Store 
END

Hinweis: Dafür kann auch die Syntax für simple CASE verwendet werden:

CASE Breakdown 
    WHEN "Product Category" THEN Product Category
    WHEN "Store" THEN Store
END

Beispiel 2: Es wird ein anderer Messwert basierend auf einem Parameterwert zurückgeben.

CASE WHEN Show Adjusted Cost = TRUE THEN Cost + Adjustments ELSE Cost END

Verschachtelte CASE-Anweisungen

Sie können CASE-Anweisungen verschachteln, um eine komplexere Verzweigungslogik zu erstellen:

CASE WHEN REGEXP_CONTAINS(SKU, "Hats") THEN
    CASE WHEN Color = "blue"
        THEN "BLUE HAT" ELSE "JUST A HAT"
    END
    ELSE "NOT A HAT"
END

War das hilfreich?

Wie können wir die Seite verbessern?

Benötigen Sie weitere Hilfe?

Mögliche weitere Schritte:

true
Neue Funktionen in Looker Studio

Erfahren Sie mehr über neue Funktionen und die letzten Änderungen. Die Versionshinweise für Looker Studio finden Sie auf Google Cloud.

Suche
Suche löschen
Suche schließen
Hauptmenü
13726663873935233011
true
Suchen in der Hilfe
true
true
true
true
true
102097
false
false