跳至主要内容
Workday User Guide
上次更新时间 :2023-06-23
工单

工单

描述

CASE
是一个行函数,根据一个或多个输入条件对数据集中的每一行进行求值,并在满足输入条件时输出指定的结果。

语法

CASE
WHEN
input_condition
[
AND
|
OR
input_condition
]
THEN
output_expression
[...] [
ELSE
other_output_expression
]
END

返回值

每行返回一个与输出表达式类型相同的值。所有输出表达式必须返回相同的字段类型。
如果有多个返回不同字段类型的输出表达式,则需要将整个字段类型括起来。
CASE
在其中一个字段类型转换函数中表达式,例如
TO_INT
,将所有输出值显式转换为特定字段类型。

输入参数

WHEN
input_condition
必修内容。该
WHEN
关键字用于指定一个或多个布尔表达式(请参见支持的条件运算符)。如果输入值满足条件,则会应用输出表达式。输入条件的表达式中可以包含其他行函数,但不能包含汇总函数或度量表达式。您可以使用
AND
OR
关键字来组合多个输入条件。
THEN
output_expression
必修内容。该
THEN
关键字 用于指定在满足指定条件时输出的表达式。输出表达式可以包含其他行函数,但不能包含汇总函数或度量表达式。
ELSE
other_output_expression
(可选)该
ELSE
当指定的条件不成立时,关键字关键字可指定要使用的备用输出表达式。如果
ELSE
未提供表达式,
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