azure - 将 KQL 数组拆分为多列

标签 azure kql azure-sentinel

我正在尝试在 Azure Sentinel 的工作簿中构建仪表板。其中一列是不同长度的 JSON 数组。我想拆分该数组,以便数组中的每个元素成为其自己的列,但我想不出一个好方法来做到这一点。基本上我想要这个

-----------------------------------
Company | products
-----------------------------------
Apple     | [iMac, iPhone, iPad]
Microsoft | [xBox, xBox 360]
Google    | [Chromebook]
--------------------------------------

成为

-----------------------------------
Company | product_1 | product_2 | product_3
-----------------------------------
Apple | iMac        |iPhone     |iPad
Microsoft | xBox    |xBox 360   |
Google | Chromebook |           |
--------------------------------------

最佳答案

效率不高,但这里有一个选择:

datatable(company:string, products:dynamic)
[
    "Apple",     dynamic(['iMac', 'iPhone', 'iPad']),
    "Microsoft", dynamic(['xBox', 'xBox 360']),
    "Google",    dynamic(['Chromebook']),
]
| mv-apply with_itemindex=i products on (
    extend p = pack(strcat("product_", i+1), products)
    | summarize b = make_bag(p)
)
| evaluate bag_unpack(b)
| project-reorder company, product* asc

-->

| company   | product_1  | product_2 | product_3 |
|-----------|------------|-----------|-----------|
| Apple     | iMac       | iPhone    | iPad      |
| Microsoft | xBox       | xBox 360  |           |
| Google    | Chromebook |           |           |

关于azure - 将 KQL 数组拆分为多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65911686/

相关文章:

c# - Azure Service Fabric 中的节点之间广播消息

azure - KQL::查找名称类似于 "_old"的 Azure SQL 数据库

azure 哨兵 : How to convert the existing log analytics as Azure Sentinel workspace?

azure - 如何在 KQL 中使用通配符 (*) 作为连接参数?

azure - 查询 Azure Sentinel 成本的奇怪结果

azure - 将 SSL 证书从 Azure key 保管库添加到现有 VM linux vm

Azure DevOps 发布错误 "Microsoft.TeamFoundation.DistributedTask.Pipelines.PipelineValidationException (type ReleaseManagementHandledException)"

c# - 将自定义反序列化器发布到 Azure 流分析

azure - KQL 获取数组中的所有 CVE

azure - 查询以显示 15 天前及更长时间内丢失的关键更新和安全更新