应用干货 | FineBI重要函数系列——巧用IF函数
FineBI函数系列文章在帆软校企合作公众号上线啦!本合集中,包含了IF函数、聚合函数以及快速计算函数三大重要的函数类别,在往后的文章里,我们将分类介绍重要函数在不同数据场景下的运用,帮助你更加熟练地使用 FineBI 进行数据分析~
那么今天我们要介绍的重要函数是——IF函数!
IF函数为条件判断函数,即在使用该函数时,可以设置“如果满足条件返回一个值,不满足条件则返回另一个值”。
语法为:IF(判断条件,条件正确返回的值,条件不正确返回的值)
BACKGROUND
在对已有的数据进行清洗和处理时,我们常用IF函数判断条件。那如何在 FineBI 中利用IF函数处理不同场景下的数据呢?咱们直接上干货!
一/ 处理特殊值
当我们在进行数据处理时,可能会遇到字段有空的情况,此时如果在此基础上需要对非0数据进行公式计算或者处理,就需要只处理非空的数据即可,可使用IF函数进行判断。
场景1:字段中值为空
以示例数据「互联网_访问统计表」(点击文末 阅读原文 可下载)为例:
表中的「统计日期」有为空的数据,需要将非空的「统计日期」数据处理为当前时间后十天,由于空值会被处理成1970 年,因此需要在公式外再嵌套一个IF和ISNULL组合的函数,确保处理后的结果正确性。
公式
IF(ISNULL(统计日期)=1,null,DATEDELTA(统计日期,10))
说明1
ISNULL函数可判断一个字段是否为空值,并返回1或0。例如:
isnull(a)代表:如果a字段是空值则返回1,不是空值则返回0(a可以是某个表达式)
说明2
DATEDELTA 函数可返回指定日期后的具体日期,例如在该示例中,可以返回「统计日期」10天后的日期。
1.1 新建分析主题,上传下载的示例数据「互联网_访问统计表」,添加「新增公式列」并使用公式:IF(ISNULL(统计日期)=1,null,DATEDELTA(统计日期,10))
二/ 进行条件赋值
当我们需要需要根据某些条件对数据进行分类赋值处理,此时IF函数是一个比较好的选择。通常IF函数会与FIND、AND、OR等函数嵌套使用。
场景1:多个IF嵌套使用
以 FineBI 内置数据集「地区数据分析」为例:
公式1
FIND(“有限公司”,客户名称)
说明
查找「客户名称」字段中包含的“有限公司”
公式2
IF(FIND(“有限公司”,客户名称)!=0,”有限公司”,IF(FIND(“大学”,客户名称)!=0,”教育行业”,”其他”))
说明
如果「客户名称」这个列中包含“有限公司”字段的就等于「有限公司」;如果包含“大学”字段的就等于「教育行业」;否则就为「其他」
1.1 创建分析主题,上传公共数据「地区数据分析」,添加「新增公式列」并输入公式:IF(FIND(“有限公司”,客户名称)!=0,”有限公司”,IF(FIND(“大学”,客户名称)!=0,”教育行业”,”其他”))
场景2:与逻辑函数一起使用
仍然以上述数据集为例:
公式1
FIND(“浙江省”,省份)
说明
查找省份中的“浙江省”
公式2
OR(合同金额>500000,FIND(“浙江省”,省份)!=0)
说明
只要满足「合同金额>500000」、「省份属于浙江省」中的一个,即赋值为「指定合同」,否则为其他。
1.1 输入公式:IF(OR(合同金>500000,FIND(“浙江省”,省份)!=0),”指定合同”,”其他”),如下图示:
三/ 处理逻辑错误值
以示例数据「互联网_访问统计表」为例,「总停留时间」是有负数的数据,明显这些数据是错误的,此时就需要进行数据处理,将「总停留时间」为负数的都改成「报错」进行标识。
1.1 新建分析主题,上传下载的示例数据「互联网访问统计表」,添加「新增公式列」,命名为「总停留时间校对」并使用公式 IF(总停留时间>=0,总停留时间,”报错”):
1.2 重要函数效果查看