ケース
説明
CASE
"" は、データセットの各行を 1 つ以上の入力条件に従って評価し、入力条件が満たされた場合に指定された結果を出力する行関数です。構文
CASE
WHEN
input_condition
[AND
|OR
input_condition
]THEN
output_expression
[...] [ELSE
other_output_expression
] END
戻り値
出力式と同じ型の行ごとに 1 つの値を返します。すべての出力式が同じフィールド型を返す必要があります。
異なるフィールド型を返す出力式が複数ある場合は、その式全体を囲む必要があります
CASE
フィールド型の変換関数のいずれかに含まれる式。 TO_INT
- すべての出力値を特定のフィールド型に明示的にキャストする場合。入力パラメータ
- WHENinput_condition
- 必須のコンテンツ。次の基準WHENkey は、1 つ以上のブール式を指定するために使用されます (サポートされている条件付演算子を参照してください)。入力値が条件を満たした場合、出力式が適用されます。入力条件の式には他の行関数を含めることができますが、集計関数またはメジャー式を含めることはできません。次の操作ができます。ANDまたはOR複数の入力条件を組み合わせて使用するキーワード。
- THENoutput_expression
- 必須のコンテンツ。次の基準THENキーワードは、指定された条件が満たされたときの出力式を指定するために使用されます。出力式には他の行関数を式に含めることができますが、要約関数またはメジャー式を含めることはできません。
- ELSEother_output_expression
- 任意です。次の基準ELSEキーワード を使用して、指定された条件が満たされない場合に使用する代替出力式を指定できます。次の条件を満たす場合ELSEexpression が指定されていませんELSE NULLがデフォルトです。
- 終了
- 必須のコンテンツ。次の終了を意味します:CASE関数処理。
例
"年齢
" 列の値を、範囲ベースのグループ (ビンごと) に変換します。CASE WHEN [age] <= 25 THEN "0-25" WHEN [age] <= 50 THEN "26-50" ELSE "over 50"
END
性別
列の値をある文字列から別の文字列に変換します。CASE WHEN [gender] = "M" THEN "Male" WHEN [gender] = "F" THEN
"Female" ELSE "Unknown" END
"
車両
" 列には、トラック、トラック、バス、乗用車、指定の値が含まれています。次の例では、 車両
列の複数の値を単一の値に変換します。CASE WHEN [vehicle] in ("bike","scooter","motorcycle") THEN "two-wheelers" ELSE
"other" END