历史版本6 :Switch-多条件赋值 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

当需要判断条件多的时候,使用 IF 函数 可能会觉得用要对每种情况都进行判断,比较麻烦,那么可以使用 switch 函数与NVL函数结合进行多条件赋值。

例如希望对班级进行设置:当前值是 Class1 则显示一班,如果是 Class2,则显示二班,如果是 Class3,则显示三班,否则则显示四班,如下图所示:

1.2 实现思路

使用 SWITCH 函数NVL函数结合进行多条件赋值。

注:不支持 Switch 函数中增加 else 判断。

1.3 函数说明

对多种情况进行判断,用于判断条件多的情况下。

1)概述

语法
SWITCH(表达式,值1,结果1,值2,结果2,……)如果表达式的结果是值1,整个函数返回结果1 如果表达式的结果是值2,整个函数返回结果2,如果表达式的结果是值3,整个函数返回结果3等等。
参数1表达式-
参数2结果所有的结果1,结果2,结果3……必须为同类型数据。

2)注意事项

至少三个参数

注:实时数据中参数个数至少 3 个,且结果参数类型一致。

3)示例

公式结果
备注
SWITCH(1+2,3,"今天星期三",4,"今天星期四")今天星期三

2. 操作步骤编辑

示例数据:成绩表 .zip

2.1 添加数据表

将成绩表添加至 FineBI ,如下图所示:

2.2 进行条件赋值

创建自助数据集,选择成绩表中的所有字段,如下图所示:

在新建的自助数据集中选择「新增列」,编辑公式:nvl(switch(班级,"Class1","一班","Class2","二班","Class3","三班"),"四班"),输入新增列名,点击「确定」,下图所示:

注:公式中城市并非手动输入,而是在左侧字段中单击选择。  

公式说明:

公式说明
switch(班级,"Class1","一班","Class2","二班","Class3","三班")如果数据为 Class1,则赋值为一班,Class2 则赋值为二班,Class 三则赋值为三班
nvl(switch(班级,"Class1","一班","Class2","二班","Class3","三班"),"四班")返回第一个不是空的字段,即数据如果不是一班、二班或者三班,则返回「四班」
保存并更新数据集。

2.3 效果查看

参见本文 1.1 节。