gpt4 book ai didi

azure - Kusto 如果数组包含数组则不返回结果

转载 作者:行者123 更新时间:2023-12-03 02:06:47 24 4
gpt4 key购买 nike

我想编写 kusto 查询,如果变量中存在三个记录,该查询基本上不会返回任何结果。这是一个例子:

    let someValues = datatable (name: string)
[
"111",
"222",
"333",
];

// my query

因此,如果 someValues 变量包含所有三个字符串 - “111”、“222”、“333”,那么我的查询不应返回任何结果。如果它只包含其中的 2 个“111”、“222”,那么它应该返回 false。如果它包含其中 1 个“222”,那么它也应该返回 false。但如果它包含所有三个字符串“111”、“222”、“333”,则查询不应返回任何结果。

这是我的尝试,但没有成功。

let someValues = datatable (name: string)
[
"111",
"222",
"333",
];
someValues
| summarize make_set(name)
| where set_name contains "111" and set_name contains "222" and set_name contains "333" // this doesn't work because it outputs 1 row

这里有一个等效的 C# 程序。

static void Main(string[] args)
{
List<string> s = new List<string>() {"111", "222", "333"};
if (s.Contains("111") && s.Contains("222") && s.Contains("333"))
return; // no results
else
{
Console.WriteLine("False"); // prints false
}
}

最佳答案

let someValues = datatable (name: string)
[
"111",
"222",
"333"
];
let values = dynamic(["111", "222", "333"]);
someValues
| summarize make_set(name)
| project diff_is_empty_set = array_length(set_difference(values, set_name)) == 0
| where not(diff_is_empty_set)

Fiddle

关于azure - Kusto 如果数组包含数组则不返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74636534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com