1. 概述
SWITCH 函数可对多种情况进行判断,并根据不同的值返回对应结果。
注:不支持在 Switch 函数中增加 else 判断。
语法 | SWITCH(表达式,值1,结果1,值2,结果2,……,其他结果) | 如果表达式的结果是值1,整个函数返回结果1;如果表达式的结果是值2,整个函数返回结果2等等;如果没有符合要求的值,则返回其他结果。 |
---|---|---|
参数1 | 表达式 | - |
参数2 | 结果 | 所有的结果1,结果2……必须为同类型数据。 其他结果可以缺省,缺省时及表达式值没有对应的结果时返回值为空。 |
2)注意事项
至少三个参数
实时数据中参数个数至少 3 个,且结果参数类型一致。
如果参数类型是日期,那么需要嵌套日期类型函数,例如SWITCH(时间,TODATE("2022/01/01"),"1")
3)示例
公式 | 结果 | 备注 |
---|---|---|
SWITCH(1+2,3,"今天星期三",4,"今天星期四") | 今天星期三 | - |
SWITCH(5,3,"今天星期三",4,"今天星期四","星期五") | 星期五 | - |
2. 更多示例
当需要判断条件多的时候,使用 IF 函数 可能会觉得用要对每种情况都进行判断,比较麻烦,那么可以使用 switch 函数进行多条件赋值。
例如希望对班级进行设置:当前值是 Class1 则显示一班,如果是 Class2,则显示二班,如果是 Class3,则显示三班,否则显示四班。
示例数据:成绩表 .zip
2.1 添加数据表
1)将「成绩表」添加至 FineBI 。点击「我的分析」,再点击「新建分析主题」弹出上传数据窗口,选择「本地Excel文件」点击「上传数据」,如下图所示:
2)点击「上传数据」后,弹出文件选择窗口,选择下载好的示例数据「成绩表」,点击「打开」,可以预览上传的数据,再点击「确定」,成功上传数据并创建分析主题。如下图所示:
2.2 进行条件赋值
1)进入数据集编辑界面,添加「新增公式列」,编辑公式:switch(班级,"Class1","一班","Class2","二班","Class3","三班","四班"),输入新增列名,「新增公式列名」为“中文班级”,点击「确定」,如下图所示:
注:公式中「班级」字段并非手动输入,而是在左侧字段中单击选择。
2)公式说明:
公式 | 说明 |
---|---|
switch(班级,"Class1","一班","Class2","二班","Class3","三班","四班") | 如果数据为 Class1,则赋值为一班,Class2 则赋值为二班,Class 三则赋值为三班,否则显示四班 |
2.3 效果预览
效果如下图所示: