gpt4 book ai didi

azure - 创建具有与条件匹配的值的动态列 - KQL

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

我正在尝试将名为 utfChars 的动态整数数组中的值添加到名为 suspiciousCharactersDetected 的新动态数组中,但前提是它们符合特定条件。

标准是,如果值在 suspiciousCharacters 变量定义的范围内,那么它应该在 suspiciousCharactersDetected 中,否则什么都没有。

我该怎么做?

这是我到目前为止所尝试过的。当我运行它时,它会打印出动态数组中的所有值,而不仅仅是“可疑”的值。

let suspiciousCharacters = range(126,1327,1);
datatable(Column1: dynamic)
[
dynamic([1,2,3,4,5,150,160])
]
| where Column1 has_any (suspiciousCharacters)
//Missing something here?
| mv-expand suspiciousCharactersDetected = Column1 to typeof(int)
| summarize SuspiciousCharacterDetected=makeset(suspiciousCharactersDetected)

最佳答案

您可以使用 set_intersect() function .

例如:

let suspiciousCharacters = range(126, 1327, 1);
datatable(utfChars: dynamic)
[
dynamic([1, 2, 3, 4, 5, 150, 160]),
dynamic([1, 2, 3, 4, 5, 15, 16]),
dynamic([1300, 1400, -1700])
]
| extend suspiciousCharactersDetected = set_intersect(suspiciousCharacters, utfChars)
| where array_length(suspiciousCharactersDetected) > 0
<表类=“s-表”><标题>utfChars检测到可疑字符 <正文>[
1、
2、
3、
4、
5、
150、
160
] [
150,
160
][
1300,
1400,
-1700
][
1300
]

或者,您可以使用 mv-apply operator ,以及 make_set() aggregation function .

例如:

let suspiciousCharacters = range(126, 1327, 1);
datatable(utfChars: dynamic)
[
dynamic([1, 2, 3, 4, 5, 150, 160]),
dynamic([1, 2, 3, 4, 5, 15, 16]),
dynamic([1300, 1400, -1700])
]
| where utfChars has_any (suspiciousCharacters)
| mv-apply c = utfChars to typeof(int) on (
where c in(suspiciousCharacters)
| summarize suspiciousCharactersDetected = make_set(c)
)
<表类=“s-表”><标题>utfChars检测到可疑字符 <正文>[
1、
2、
3、
4、
5、
150、
160
] [
150,
160
][
1300,
1400,
-1700
][
1300
]

关于azure - 创建具有与条件匹配的值的动态列 - KQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76567470/

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