在 KQL 中使用值数组执行 where 条件

问题描述 投票:0回答:3

我正在尝试简化我的搜索,因为我在不同的表中搜索相同的值,我想将搜索到的值放入表中并将其放入我的 where 条件无法成功执行此操作,我尝试使用“has_any” “运算符或“in”,我尝试了几种类型的变量,有人可以帮忙吗:

let array= ("AAA","BBB","CCC");

Table
|where Field in(array)

Table1
|where Field1 in (array)

谢谢你

arrays variables kql
3个回答
0
投票

搜索运算符

search "AAA" or "BBB" or "CCC"
| summarize count() by $table
$桌子 数_
风暴事件 69

小提琴


0
投票

您可以使用 pack_array 创建数组并使用 has_any

let array= pack_array("AAA","BBB","CCC");
StormEvents
| where EpisodeNarrative has_any (array)
| count

在 ADX 中运行示例


0
投票

我有类似的要求,最终使用了动态数据类型。这会起作用:

let array = dynamic(["AAA", "BBB", "CCC"]);

Table
|where Field in(array)

您需要在查询上下文中使用动态数据类型的原因是 Kusto 查询语言 (KQL) 中的

in
运算符期望右侧为动态数组。

© www.soinside.com 2019 - 2024. All rights reserved.