首页 > 解决方案 > Kusto Query 将结果转换到另一个表中

问题描述

我在 Azure 数据资源管理器中有一个这样的表:

订单号 初始日期 结束日期 价值
00001 2021/06/23 00:15 2021/06/23 00:19 5
00002 2021/06/23 00:35 2021/06/23 00:43 8

如何使用 Kusto 查询包含以下信息的表:

订单号 日期 价值
00001 2021/06/23 00:15 0
00001 2021/06/23 00:19 5
00002 2021/06/23 00:35 5
00002 2021/06/23 00:43 13

我需要获取 foreach InitDate 和 EndDate 一行。

在我需要的价值中:

如何在 Azure 数据资源管理器中使用 Kusto 实现此目的?

标签: azure-data-explorer

解决方案


像下面这样的东西对你有用吗?

datatable(OrderNo:string, InitDate:datetime, EndDate:datetime, Value:long)
[
    "00001", datetime(2021-06-23 00:15), datetime(2021-06-23 00:19), 5, 
    "00002", datetime(2021-06-23 00:35), datetime(2021-06-23 00:43), 8
]
| order by InitDate asc 
| extend EndValue = row_cumsum(Value) | extend InitValue = iff(isnull(prev(EndValue)), 0, prev(EndValue))
| extend Date = pack_array(InitDate, EndDate), Value = pack_array(InitValue, EndValue)
| mv-expand Date to typeof(datetime), Value to typeof(long)
| project OrderNo, Date, Value

在此处输入图像描述


推荐阅读