Azure 如何将Kusto查询与2个表列进行比较?
如何检查ProductLine中的两个字段是否与dynTable中的两个字段完全匹配? 条件:如果PName与名称匹配,如果Cat与dynTable中的类别匹配 因此,基本上我们需要使用名为ProductLine的表中的信息迭代dynTable的项Azure 如何将Kusto查询与2个表列进行比较?,azure,kql,azure-monitoring,Azure,Kql,Azure Monitoring,如何检查ProductLine中的两个字段是否与dynTable中的两个字段完全匹配? 条件:如果PName与名称匹配,如果Cat与dynTable中的类别匹配 因此,基本上我们需要使用名为ProductLine的表中的信息迭代dynTable的项 | PName | Cat | Info ---------------------- | A | X | 123 | B | Y | 456 | C | Z | 789 ---------------------
| PName | Cat | Info
----------------------
| A | X | 123
| B | Y | 456
| C | Z | 789
----------------------
您可以使用
join
操作符在两列上进行连接:
您可以使用
join
操作符在两列上进行连接:
我将此应用于大约10000条以上的记录,是否有一种性能高效的方法来实现此目的?~10K条记录并不多。不过,在理想情况下,您的数据在摄入之前或摄入时会更好地结构化,这样您就不必在每次运行查询时扩展动态数组并使用
bag\u unpack()
插件。您可以研究使用摄取映射()或更新策略()在摄取时执行转换。我将此应用于大约10000条记录,是否有一种性能高效的方法可以实现此目的?~10K条记录并不多。不过,在理想情况下,您的数据在摄入之前或摄入时会更好地结构化,这样您就不必在每次运行查询时扩展动态数组并使用bag\u unpack()
插件。您可以研究使用摄取映射()或更新策略()在摄取时执行转换。
let dynTable =
print myDynamicValue = dynamic(
[
{
"Name": "X",
"Category": "Y"
},
{
"Name": "A",
"Category": "B"
},
{
"Name": "A",
"Category": B"
}
])
| mvexpand myDynamicValue
| evaluate bag_unpack(myDynamicValue);
dynTable
datatable(Name:string, Category:string)
[
"X", "Y",
"A", "B",
"A", "B",
]
| join (datatable(PName:string, Cat:string, Info:string)
[
'A', 'X', 123,
'B', 'Y', 456,
'C', 'Z', 789,
]) on $left.Name == $right.PName and $left.Category == $right.Cat