当其中一个是数字而另一个是范围时如何关联两个条目
How to correlate two entries when one of them is a number and the other is a range
我在 Sentinel 中有两个表,其中包含数据。我在 Table A 中有字段 A,它是一个数字。我在 Table B 中有两个字段 B 和 C,它们也是数字,但它们代表一个范围。
像 Table A 字段包含数字“9”,Table B 字段 B 包含数字“3”,Table B 字段 C 包含数字“18”。
我想遍历 Table A 中的所有条目并在 Table B 中找到这些条目的匹配日志。如果字段 A 的值在字段 B 和 C 的范围(B 和 C 之间)。因此,在上面的示例中,数字 9 介于 3 和 18 之间,因此两个表中的这两个条目将匹配。
因为它们不是完全匹配,所以我无法使用连接来查找匹配的条目。
有没有办法用 KQL (Kusto) 以某种方式做到这一点?我尝试了多种解决方案,但到目前为止 none 解决了。我尝试使用用户定义的函数,但出现 'Tabular expression is not expected in the current context' 错误。
一种天真的方法是使用笛卡尔积并应用过滤器,这是一个示例:
let A = datatable(a:int) [9, 25, 2];
let B = datatable(b:int, c:int) [3,13, 1,2];
A
| extend dummy = 1
| join kind=inner (B | extend dummy =1) on dummy
| where a between (b .. c)
| project-away dummy*
a
b
c
9
3
13
2
1
2
我在 Sentinel 中有两个表,其中包含数据。我在 Table A 中有字段 A,它是一个数字。我在 Table B 中有两个字段 B 和 C,它们也是数字,但它们代表一个范围。 像 Table A 字段包含数字“9”,Table B 字段 B 包含数字“3”,Table B 字段 C 包含数字“18”。
我想遍历 Table A 中的所有条目并在 Table B 中找到这些条目的匹配日志。如果字段 A 的值在字段 B 和 C 的范围(B 和 C 之间)。因此,在上面的示例中,数字 9 介于 3 和 18 之间,因此两个表中的这两个条目将匹配。
因为它们不是完全匹配,所以我无法使用连接来查找匹配的条目。
有没有办法用 KQL (Kusto) 以某种方式做到这一点?我尝试了多种解决方案,但到目前为止 none 解决了。我尝试使用用户定义的函数,但出现 'Tabular expression is not expected in the current context' 错误。
一种天真的方法是使用笛卡尔积并应用过滤器,这是一个示例:
let A = datatable(a:int) [9, 25, 2];
let B = datatable(b:int, c:int) [3,13, 1,2];
A
| extend dummy = 1
| join kind=inner (B | extend dummy =1) on dummy
| where a between (b .. c)
| project-away dummy*
a | b | c |
---|---|---|
9 | 3 | 13 |
2 | 1 | 2 |