在 SQL 中,CASE WHEN 函数通常用于条件逻辑,允许你根据一个或多个条件来返回不同的值,从而实现数据的转换。以下是针对 DataEase V1 和 V2 版本中使用计算字段实现数据转换的示例。

例如下面这张表,我们希望对成绩进行划分等级,基于语文成绩的CASE语句逻辑,用于将成绩分类为'优秀'、'良好'、'一般'或'不及格'。

DataEase V1 版本

DataEase V1 版本默认使用 MySQL 作为计算引擎,同时我们在使用直连模式时,计算字段使用的函数也是使用数据源数据库的函数,所以这里以MySQL为例来介绍。

CASE
WHEN [语文成绩] > 95 THEN '优秀'
WHEN [语文成绩] BETWEEN 85 AND 95 THEN '良好'
WHEN [语文成绩] BETWEEN 60 AND 85 THEN '一般'
ELSE '不及格'
END
新建计算字段
配置字段表达式
预览效果

DataEase V2 版本

DataEase V2 版本针对EXCEL数据源跨库关联数据源将 SQL 解析引擎全部交由 Calcite 完成,所以在使用 V2 版本编写 SQL 或者使用计算字段时,需要使用 Calcite 的语法以及函数。

CASE
WHEN [语文成绩] >= 95 THEN '优秀'
WHEN [语文成绩] >= 85 AND [语文成绩]<95 THEN '良好'
WHEN [语文成绩] >= 60 AND [语文成绩]<85 THEN '一般'
ELSE '不及格'
END
编写字段表达式
预览效果
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐