1. 概述

通过逻辑函数您可以确定某个特定条件为真还是假(布尔逻辑)。本文介绍本产品中的逻辑函数及其用途。

2. 示例

例如,您可能希望快速确定您分销商品的每个地区的销售额是高于还是低于特定阈值。

语法:

SUM([销售额]) > 1,000,000

结果:

逻辑函数 - 图1

3. 可用逻辑函数列表

函数 说明 语法 示例
AND 逻辑与,对两个表达式执行逻辑合取运算。 布尔值1 AND 布尔值2 [销售额] >= 0 AND [销售额] <= 8000
CASE 执行逻辑测试并返回相应的值。CASE 函数可评估表达式,并将其与一系列值(值1、值2等)比较,然后返回结果。遇到一个与表达式匹配的值时,CASE返回相应的返回值。如果未找到匹配值,则使用默认返回表达式。如果不存在默认返回表达式并且没有任何值匹配,则会返回 Null。 CASE 表达式 WHEN 值1 THEN 返回值1 ... [ELSE 默认返回值] CASE [产品ID] WHEN 1 THEN "家具" WHEN 2 THEN "电器" ELSE STR([产品ID])
IF 测试一系列表达式,同时为第一个为 true 的 返回 值。 IF 条件 THEN 返回值1 ELSE 返回值2 简单用法:IF [销售额] > 100 THEN "优" ELSE "差"
嵌套用法:IF [销售额] > 100 THEN "优" ELSE IF [销售额] > 50 THEN "良" ELSE "差"
IIF 检查某个条件是否得到满足,如果为 TRUE 则返回值1,如果为 FALSE 则返回值2,如果值2不填写,则会返回NULL。 IIF(条件, 值1, 值2) IIF([利润] > 0, 盈利, 亏损)
IFNULL 是否空,如果表达式1不为null,则返回它,否则返回表达式2。 IFNULL(表达式1, 表达式2) IFNULL([field], 0)
ISNULL 空值判断,判断表达式的值是否为NULL ISNULL(表达式) IF ISNULL([用户名]) THEN "匿名用户" ELSE [用户名]
NOT 逻辑否,对一个表达式执行逻辑非运算。 NOT 布尔值 NOT [用户名] = "小张"
MAXIMUM 最大值比较,对同一类型的表达式进行比较,返回两个或多个表达式对于每个记录的最大值。支持数值型、日期型、字符串。 MAXIMUM(表达式1, 表达式2, ...) MAXIMUM(1, 2) = 2
MAXIMUM([销售额],[数量])
MINIMUM 最小值比较,对同一类型的表达式进行比较,返回两个或多个表达式对于每个记录的最小值。支持数值型、日期型、字符串。 MINIMUM(表达式1, 表达式2, ...) MINIMUM(1, 2) = 1
MINMUM([销售额],[数量])
OR 逻辑或运算 布尔值1 OR 布尔值2 [用户名] = "小张" OR [用户名] = "小李"
ZN 若空则零,如果表达式不为null,则返回它,否则返回零。 ZN(表达式) ZN(1) = 1
ISTOP 返回数据行在整体中的排名是否位于前N位,使用ASC或者DESC参数指定升序或降序顺序 ISTOP(度量表达式, "ASC", N) ISTOP(SUM([销售额]), "DESC", 5)
比较运算 比较两个表达式,返回布尔值,可用的比较符有:= != > < >= <= ,分别表示 等于、不等于、大于、小于、大于等于、小于等于 表达式1 比较符 表达式2 [销售额] >= 8000