Azure Data Explorer:如何将多列合并为新列并按OperationsId聚合
Azure Data Explorer 多列合并为单列的实现方法
针对你需求的按OperationsId汇总并将其余列合并为Details列的场景,Azure Data Explorer(Kusto Query Language)提供了多种简单实现方式:
方法1:自动打包为JSON格式(推荐)
使用pack_all()函数可以快速将除分组列外的所有字段打包成动态JSON对象,完全匹配你示例中的格式:
-- 替换为你的数据表名称 YourTable | summarize Details = pack_all() by OperationsId
pack_all()会自动将当前行的所有非分组列(name、resultCode、duration等)以键值对形式封装成JSON结构,无需手动指定列名,适合字段较多的场景。
方法2:自定义字符串格式
如果不需要JSON格式,可通过strcat()函数手动拼接成任意字符串格式:
YourTable | summarize Details = strcat("name: ", name, ", resultCode: ", resultCode, ", duration: ", duration) by OperationsId
这种方式可以灵活控制最终字符串的展示样式,比如调整分隔符、添加自定义前缀等。
方法3:处理多数据行场景
如果同一个OperationsId对应多行数据,可结合make_list()和pack()将所有行的详情合并为数组:
YourTable | summarize Details = make_list(pack("name", name, "resultCode", resultCode, "duration", duration)) by OperationsId
执行后Details列会是一个包含所有对应行详情的JSON数组。
内容的提问来源于stack exchange,提问作者chwunder
相关产品推荐
相关产品推荐

