notIn - Amazon QuickSight

notIn

notIn 评估文本列表中是否存在表达式。如果列表不包含表达式,notIn 返回 true,否则返回 false。对于字符串类型输入,notIn 区分大小写。

notIn 接受两种文本列表,一种是手动输入的列表,另一种是多值参数

语法

使用手动输入的列表:

notIn(expression, [literal-1, ...])

使用多值参数:

notIn(expression, $multivalue_parameter)

参数

expression

要与文本列表中的元素进行比较的表达式。可以是字段名称(例如 address)、字面值(例如“Unknown”)、单值参数或对另一个标量函数的调用,前提是此函数不是聚合函数或表计算。

文本列表

(必填)这可以是手动输入的列表或多值参数。此参数最多接受 5000 个元素。但是,在直接查询第三方数据来源(例如 Oracle 或 Teradata)时,限制可能会更小。

  • 手动输入的列表 – 列表中的一个或多个要与表达式进行比较的文本值。列表应用方括号括起来。所有要比较的文本必须与表达式具有相同的数据类型。

  • 多值参数 – 作为文本列表传入的预定义多值参数。多值参数必须与表达式具有相同的数据类型。

返回类型

布尔值:TRUE/FALSE

使用手动输入列表的示例

以下示例评估 origin_state_name 字段的字符串列表中的值。比较字符串类型输入时,notIn 仅支持区分大小写的比较。

notIn(origin_state_name,["Georgia", "Ohio", "Texas"])

以下是给定的字段值。

"Washington" "ohio" "Texas"

对于这些字段值,将返回以下值。

true true false

第三个返回值为 false,因为只有“Texas”是排除的值之一。

以下示例评估 fl_date 字段的字符串列表中的值。为了匹配类型,toString 用于将日期类型转换为字符串类型。

notIn(toString(fl_date),["2015-05-14","2015-05-15","2015-05-16"])
函数示例结果的图像,以表格形式显示。

表达式参数中支持文本和 NULL 值,以便与列表中的文本进行比较。以下两个示例都将生成一列 FALSE 值的新列。

notIn("Washington",["Washington","Ohio"])
notIn(NULL,[NULL,"Ohio"])

使用多值参数的示例

假设作者创建了一个包含所有州名列表的多值参数。然后,作者添加了一个控件,允许读者从列表中选择值。

接下来,读者从参数的下拉列表控件中选择三个值,即“Georgia”、“Ohio”和“Texas”。在本例中,以下表达式等同于第一个示例,其中这三个州名称作为文本列表传递,以便与 original_state_name 字段进行比较。

notIn (origin_state_name, ${stateName MultivalueParameter})

使用 ifelse 的示例

notIn 可以作为布尔值嵌套在其他函数中。一个例子是,作者可以计算列表中的任何表达式并使用 notInifelse 返回他们想要的值。以下示例评估航班的 dest_state_name 是否位于特定的美国州列表中,并根据比较结果返回不同的州类别。

ifelse(notIn(dest_state_name,["Washington", "Oregon","California"]), "notWestCoastUSState", "WestCoastUSState")
函数示例结果的图像,以表格形式显示。