逻辑函数

  • 文档创建者:doreen0813
  • 编辑次数:21次
  • 最近更新:Roxy 于 2021-05-06
  • 1. 概述

    1.1 版本

    FineBI 版本
    JAR 包功能变动
    5.1--
    5.1.72020-11-05函数释义优化&明确函数参数合法性
    5.1.112021-04-02实时数据公式校验加强
    5.1.12-抽取数据公式校验加强

    1.2 应用场景

    逻辑计算允许确定某个特定条件为真还是假(布尔逻辑)。

    例如,希望快速过滤出「合同金额」大于 3000 并且「购买数量」大于 10 的数据。

    在自助数据集中使用过滤,过滤条件为:AND(合同金额>3000,购买数量>10),如下图所示:

    1608627961111186.png

    2. 使用说明

    2.1 使用位置


    使用位置
    自助数据集新增列过滤
    仪表板
    添加计算字段

    2.2 支持的逻辑函数

    函数
    语法定义示例
    IFIF(boolean,number1/string1,number2/string2)判断函数IF(各门店净利润>0,"good","bad")
    ANDAND(logical1,logical2,……)当所有参数的值为真时,返回1;当任意参数的值为假时,返回0。AND(1+7=8,5+7=12)
    SWITCHSWITCH(表达式,值1,结果1,值2,结果2,……)如果表达式的结果是值1,整个函数返回结果1 如果表达式的结果是值2,整个函数返回结果2,如果表达式的结果是值3,整个函数返回结果3等等。SWITCH(1+2,3,"今天星期三",4,"今天星期四")
    OROR(logical1,logical2,……)当所有参数的值为假时,返回0;当任意参数的值为真时,返回1。OR(1+7=9,5+7=11)

    2.3 使用规则

    IF 函数:参数类型相同时,结果返回第一个非空的参数类型;参数类型不同时,结果返回文本类型

    SWITCH 函数:参数类型相同时,结果返回第2n+1(n>0)个非空的参数类型;参数类型不同时,结果返回文本类型

    其他逻辑函数:返回布尔类型,FineBI 中, 布尔类型中的 False,会转化为 0 ,True 为 1 。

    3. IF-条件判断

    1)应用场景:用来完成非此即彼的判断。

    2)语法

    语法
    IF(boolean,number1/string1,number2/string2)判断函数
    参数1boolean

    boolean为true时返回number1/string1,为false时返回number2/string2.第二个参数和第三个参数的类型必须相同。 

    参数2number1/string1
    参数3number2/string2

    3)示例

    要判断订单是否是优秀订单。使用内置数据集「销售DEMO>合同事实表」,新增列并输入公式为:IF(合同金额>3000,"优秀订单","普通订单"),如下图所示:

    1608630720385341.png

    公式说明:

    公式
    说明
    IF(合同金额>3000,"优秀订单","普通订单")

    若合同金额大于3000,则显示为 优秀订单,否则为普通订单。

    更多公式示例:

    公式结果
    备注
    IF(true,2,8)2
    IF(false,"first","second")second
    IF(各门店净利润>0,"good","bad")当净利润>0等于good,净利润<0等于bad。

    4)注意事项

    IF 中三个参数,第一个为 bool 类型或数值类型(0或者1),第二个和第三个参数相同类型,两个参数中有空,返回非空参数类型;两个参数类型不同:返回文本类型。

    参数中的true(TRUE)、false(FALSE)同时支持大小写,且大小写同时蓝色标记。

    4. AND-逻辑与

    1)应用场景:做多选题,必须所有选项都符合才是对(true),否则就是错(false)

    2)语法

    语法
    AND(logical1,logical2,……)当所有参数的值为真时,返回1;当任意参数的值为假时,返回0。
    参数1logical1,logical2,……参数

    3)示例

    公式结果
    备注
    AND(1+7=8,5+7=12)1对应系统服务器时间为2020-10-23 15:36:25。
    AND(1+7=8,5+7=11)0

    4)注意事项

    参数必须为 bool 类型或数值类型

    参数中的true(TRUE)、false(FALSE)同时支持大小写,且大小写同时蓝色标记。

    5. 多个条件判断-SWITCH

    1)应用场景:对多种情况进行判断,用于判断条件多的情况下。

    2)语法

    语法
    SWITCH(表达式,值1,结果1,值2,结果2,……)如果表达式的结果是值1,整个函数返回结果1 如果表达式的结果是值2,整个函数返回结果2,如果表达式的结果是值3,整个函数返回结果3等等。
    参数1表达式


    参数2结果所有的结果1,结果2,结果3……必须为同类型数据。

    3)示例

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

    SWITCH 函数的详细应用参见: Switch函数 。

    4)注意事项

    至少三个参数

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

    6. 逻辑或-OR

    1)应用场景:任何一个参数逻辑值为 TRUE,即返回 TRUE;所有参数的逻辑值为 FALSE,才返回 FALSE

    2)概述

    语法
    OR(logical1,logical2,……)当所有参数的值为假时,返回0;当任意参数的值为真时,返回1。
    参数1logical1,logical2,……参数

    3)示例

    公式结果
    备注
    OR(1+7=9,5+7=11)0
    OR(1+7=8,5+7=11)1

    4)注意事项

    参数必须为 bool 类型或数值类型。

    参数中的true(TRUE)、false(FALSE)同时支持大小写,且大小写同时蓝色标记。

    7. 注意事项

    ||、&& 只能连接两个类型为bool类型或数值类型的表达式


    附件列表


    主题: 数据分析进阶
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-127-81526