1. 概述
1.1 版本
FineBI 版本 |
---|
6.0.9 |
1.2 功能简介
属于,判断表达式 exp 的结果是否属于 para1,para2,para3,... 构建的集合里,属于为1,不属于为0。
语法 | IN(exp,para1,para2,para3,...) | 判断表达式exp的结果是否属于para1,para2,para3,...构建的集合里 |
---|---|---|
参数1 | exp | 任意类型的任意表达式(不能为NULL) |
参数2 | para1,para2,para3,... | 任意类型的常量/常量表达式/组件参数 |
2. 注意事项
1)IN函数中所有参数的类型需保持一致。
2)当 IN 函数的 参数1 为组件参数,且参数被赋予了多个值时(如被组件参数被过滤组件绑定,设置了多个选项)。
组件报错:IN的第一个参数不能为多值参数。如下图所示:
3. 示例
找出合同事实表内长期订单的合同金额。
1)新建分析主题,并添加「内置DEMO」中的「合同事实表」。并使用该表制作组件,「添加计算字段」合同类型是否为长期订单。
当合同类型值为「长期协议订单、长期协议」时,为长期订单。输入公式:IN(合同类型,"长期协议订单","长期协议")
注:公式中合同类型并非手动输入,而是在左侧字段中单击选择。
在组件中添加字段,我们可以看到长期订单的值为 1 ,其余为 0 。如下图所示:
2)求长期订单的合同金额。新增计算字段,并添加公式:DEF_ADD(SUM_AGG(合同金额),[],合同类型是否是长期订单) 。
我们在组件中查看数据,只有长期订单才会显示合同金额。如下图所示:
用指标卡显示如下图所示:
2)更多示例:
公式 | 结果 | 备注 |
---|---|---|
IN(1,1,2,3) | 1 | - |
IN(城市,"北京","上海","广州") | 城市字段中属于北京、上海、广州的行=1,其余行=0 | - |
DEF(SUM(销售额),[],[IN(城市,$组件参数)]) | 计算属于组件参数值的城市的销售额总和 |