菜单
开源

过滤数据 / 在查询中使用模板变量

为了在 Infinity 数据源中过滤数据,您可以根据您使用的解析器使用以下选项。

注意

所有过滤操作都在获取内容后进行。为了获得更好的性能,请使用 API 提供的过滤功能。

使用后端解析器过滤

使用后端解析器时,请使用以下示例来过滤数据。在大多数情况下,您将基于单值或多值变量来过滤数据。

变量设置 - 单值

image image

变量设置 - 多值

image image

无过滤

image image image

单值过滤

我们使用过滤条件 region == "${region}"

image

多值过滤

我们使用过滤条件 region IN (${region_multi:singlequote}) 来显示多个地区

image

多值过滤 (NOT IN)

我们使用过滤条件 !(region IN (${region_multi:singlequote}) 来排除多个地区。如您所见,我们在条件前使用了 ! 符号

image

使用 UQL 解析器过滤

使用后端解析器时,请使用以下示例来过滤数据。在大多数情况下,您将基于单值或多值变量来过滤数据。

UQL - 无过滤

uql
parse-json
| summarize count("name") by "region"

UQL - 单值过滤

uql
parse-json
| where "region" == '$region'
| summarize count("name") by "region"

UQL - 单值过滤 (JSONata)

uql
parse-json
| jsonata "$[region='${region}']"
| summarize count("name") by "region"

UQL - 多值过滤

uql
parse-json
| where "region" in (${region_multi:singlequote})
| summarize count("name") by "region"

UQL - 多值过滤 (JSONata)

uql
parse-json
| jsonata "$[region in [${region_multi:singlequote}]]"
| summarize count("name") by "region"

UQL - 多值过滤 (NOT IN)

uql
parse-json
| where "region" !in (${region_multi:singlequote})
| summarize count("name") by "region"

UQL - 多值过滤 (NOT IN) (JSONata)

uql
parse-json
| jsonata "$[$not(region in [${region_multi:singlequote}])]"
| summarize count("name") by "region"