如何用KQL的make_set/make_list将多行合并为列(Defender场景)
使用make_set/make_list处理Defender KQL查询的重复行与列汇总
完全可以用make_set或make_list实现你的需求,两者核心差异如下:
make_set:返回去重后的唯一值列表,适合只保留每个设备不同的适配器类型和IP地址make_list:保留所有原始值(包括重复项),适合需要完整记录上报历史的场景
修改后的查询示例
去重汇总(推荐)
DeviceInfo | join DeviceNetworkInfo on DeviceId | summarize NetworkAdapterTypes = make_set(NetworkAdapterType), IPAddressList = make_set(IPAddresses) by DeviceId
保留重复项的汇总
DeviceInfo | join DeviceNetworkInfo on DeviceId | summarize NetworkAdapterTypes = make_list(NetworkAdapterType), IPAddressList = make_list(IPAddresses) by DeviceId
额外技巧
如果需要对汇总后的列表排序,可以在聚合函数中添加排序参数,比如:
make_list(NetworkAdapterType, sort by NetworkAdapterType asc)
内容的提问来源于stack exchange,提问作者Dirk Pitt
相关产品推荐
相关产品推荐

