CASE
Beschreibung
CASE
ist eine Zeilenfunktion, die jede Zeile im Dataset anhand einer oder mehrerer Eingabebedingungen evaluiert und das angegebene Ergebnis ausgibt, wenn die Eingabebedingungen erfüllt sind.Syntax
CASE
WHEN
input_condition
[AND
|OR
input_condition
]THEN
output_expression
[...] [ELSE
other_output_expression
] END
Rückgabewert
Gibt pro Zeile einen Wert zurück, der denselben Typ wie der Ausgabeausdruck hat. Alle Ausgabeausdrücke müssen denselben Feldtyp zurückgeben.
Wenn es mehrere Ausgabeausdrücke gibt, die unterschiedliche Feldarten zurückgeben, müssen Sie Ihr gesamtes Feld einschließen
CASE
Ausdruck in einer der Funktionen zur Konvertierung von Feldarten, z. B. TO_INT
, um alle Ausgabewerte explizit in eine bestimmte Feldart umzuwandeln.Eingabeparameter
- WHENinput_condition
- Erforderliche Inhalte. DieWHENDas Schlüsselwort "" wird zur Angabe eines oder mehrerer boolescher Ausdrücke verwendet (unterstützte Bedingungsoperatoren anzeigen). Wenn ein Eingabewert die Bedingung erfüllt, wird der Ausgabeausdruck angewendet. Eingabebedingungen können andere Zeilenfunktionen in ihren Ausdruck aufnehmen, jedoch keine Zusammenfassungsfunktionen oder Kennzahlausdrücke enthalten. Sie können die verwendenANDoderORSchlüsselwörter, um mehrere Eingabebedingungen zu kombinieren.
- THENoutput_expression
- Erforderliche Inhalte. DieTHENDas Schlüsselwort "" wird verwendet, um einen Ausgabeausdruck anzugeben, wenn die angegebenen Bedingungen erfüllt sind. Ausgabeausdrücke können andere Zeilenfunktionen in ihren Ausdruck aufnehmen, jedoch keine Zusammenfassungsfunktionen oder Kennzahlausdrücke enthalten.
- ELSEother_output_expression
- Optional. DieELSEMit dem Schlüsselwort "" kann ein alternativer Ausgabeausdruck angegeben werden, der verwendet wird, wenn die angegebenen Bedingungen nicht erfüllt sind. Falls nELSEAusdruck wurde nicht angegeben,ELSE NULList der Standardwert.
- ENDE
- Erforderliche Inhalte. Markiert das Ende vonCASEFunktionsverarbeitung.
Beispiele
Konvertieren Sie Werte in der Spalte
„Alter“
in bereichsbasierte Gruppierungen (Binning):CASE WHEN [age] <= 25 THEN "0-25" WHEN [age] <= 50 THEN "26-50" ELSE "over 50"
END
Transformieren Sie Werte in der Spalte
„Geschlecht“
von einer Zeichenfolge in eine andere:CASE WHEN [gender] = "M" THEN "Male" WHEN [gender] = "F" THEN
"Female" ELSE "Unknown" END
Die Spalte
„fahrzeug
“ enthält die folgenden Werte: Lastkraftmittel, Linienverkehr, Auto,roller, Planierzug, Zweirad, Dreirad undleistungsrad. Im folgenden Beispiel werden mehrere Werte in der Spalte „fahrzeug“
in einen einzelnen Wert konvertiert:CASE WHEN [vehicle] in ("bike","scooter","motorcycle") THEN "two-wheelers" ELSE
"other" END