1

我使用kusto查询定义了两个变量,比如TableA有一个“Path”列如\L1\L2\L3\L4,想获取这个Path各部分的名称。如果要获取路径第二部分为“L2”的所有行,我们需要索引 == 1。如果我们想获取路径第三部分为“L3”的所有行,我们需要将变量索引更改为 2 并将名称更改为“L3”。

let index = 1;
let name = 'L2';
TableA
| extend PathSeperated = split(Path, "\\")
| project Name = PathSeperated[toint(index)]
| where Name == name

我们如何进行映射,例如使用字典来阐明很明显,无论何时我们要更改 name 的值,我们都必须同时更改 index 的值。

我尝试使用动态,但它需要将键作为字符串,我将其定义为

let mapping = dynamic("1", "L2");

我需要键和值,但我不能使用 mapping.1 来获取关联的值“L2”。另外,我找不到获取键值的方法。

有人可以知道是否有办法同时获取 kusto 查询的键和值?

4

1 回答 1

1

这是否有效:

let index = 1;
let dict = dynamic(["L1","L2", "L3", "L4"]);
datatable(Path:string)[@'foo\bar\baz', @'L1\L2\L3\L4']
| extend PathSeperated = split(Path, "\\")
| project Name = PathSeperated[index]
| where Name == tostring(dict[index])
于 2021-10-12T05:16:36.393 回答