过滤数据 / 在查询中使用模板变量
为了在 Infinity 数据源中过滤数据,您可以根据您使用的解析器使用以下选项。
注意
所有过滤操作都在获取内容后进行。为了获得更好的性能,请使用 API 提供的过滤功能。
使用后端解析器过滤
使用后端解析器时,请使用以下示例来过滤数据。在大多数情况下,您将基于单值或多值变量来过滤数据。
变量设置 - 单值
变量设置 - 多值
无过滤
单值过滤
我们使用过滤条件 region == "${region}"
多值过滤
我们使用过滤条件 region IN (${region_multi:singlequote})
来显示多个地区
多值过滤 (NOT IN)
我们使用过滤条件 !(region IN (${region_multi:singlequote})
来排除多个地区。如您所见,我们在条件前使用了 ! 符号
使用 UQL 解析器过滤
使用后端解析器时,请使用以下示例来过滤数据。在大多数情况下,您将基于单值或多值变量来过滤数据。
UQL - 无过滤
parse-json
| summarize count("name") by "region"
UQL - 单值过滤
parse-json
| where "region" == '$region'
| summarize count("name") by "region"
UQL - 单值过滤 (JSONata)
parse-json
| jsonata "$[region='${region}']"
| summarize count("name") by "region"
UQL - 多值过滤
parse-json
| where "region" in (${region_multi:singlequote})
| summarize count("name") by "region"
UQL - 多值过滤 (JSONata)
parse-json
| jsonata "$[region in [${region_multi:singlequote}]]"
| summarize count("name") by "region"
UQL - 多值过滤 (NOT IN)
parse-json
| where "region" !in (${region_multi:singlequote})
| summarize count("name") by "region"
UQL - 多值过滤 (NOT IN) (JSONata)
parse-json
| jsonata "$[$not(region in [${region_multi:singlequote}])]"
| summarize count("name") by "region"