1. 版本
| FineBI 版本 | 功能变动 | 
|---|---|
| 6.0 | - | 
| 6.0.16 | 增强 if 函数多条件赋值能力 | 
2. 概述
| 语法 | IF(条件表达式1,结果1,条件表达式2,结果2,.....,其他结果) 如果满足条件表达式1,则返回结果1,如果满足条件表达式2且不满足条件表达式1,则返回结果2,如果无满足的条件表达式,则返回其他结果。 | |
|---|---|---|
| 参数1 | 条件表达式 | 输出的结果需为布尔类型或数值类型 | 
| 参数2 | 结果参数 | 所有结果参数的类型必须需相同 | 
3. 注意事项
- IF 中三个参数,第一个为 bool 类型(true 或者 false)或数值类型(0或者1);第二个和第三个参数相同类型,两个参数中有空,返回非空参数类型;两个参数类型不同:返回文本类型。 
- 添加计算字段 写入公式时,使用的字段不能进行过 指标条件 。这是因为 指标条件后的指标仅支持聚合函数 。 
4. 示例
4.1 示例一:单条件判断
示例数据:成绩表.xlsx
1)判断学生成绩是否合格。在主题中使用 新增列 ,输入如下图公式。
若 成绩≥60,返回“合格”,否则返回“不合格”

2)计算结果如下图所示:

4.2 示例二:多条件判断
若还想进一步将学生的成绩分成「优秀、良好、及格、不及格」,用 IF 函数如何实现呢?
- 成绩<60分:不及格 
- 60≤成绩<70:及格 
- 70≤成绩<80:良好 
- 成绩≥80:优秀 
注:多条件判断,条件数不能超过200个。
1)使用示例数据,在主题中使用 新增列 ,输入如下图公式。
成绩满足第一个条件“<60”时,返回“不及格”;满足了第一个条件的数据,不再参与第二个条件的判断;满足第一个条件和第二个条件的数据,不再参与第三个条件的判断,以此类推...

若 FineBI 版本在 6.0.16 之前,多条件判断需要写 if 函数嵌套。
本示例实现公式:if(成绩<60,"不及格",if(成绩<70,"及格",if(成绩<80,"良好","优秀")))
2)计算效果如下图所示:

4.3 更多常用示例
| 场景示例 | 公式 | 详解 | 
|---|---|---|
| 判断是否为 null | IF(isnull(订单编号),0,1) | 若订单编号为 null ,返回 0,否则返回1 | 
| IF+且条件 | IF(AND(条件1,条件2),"是","否") | 当条件 1 和条件 2 同时满足时,返回"是",否则返回"否" | 
| IF+或条件 | IF(OR(条件1,条件2),"是","否") | 当满足条件 1 和条件 2 其中一个时,返回"是",否则返回"否" | 

 
  
  	 
             
             
     上一篇:逻辑函数概述
上一篇:逻辑函数概述 
  
             
		         
					 
					 
						 
					 
					