azure-data-explorer - 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 一行。
在我需要的价值中:
- 如果是表示 InitDate 的行,则为 0 或上一个值。
- 如果是表示 EndDate 的行,则前一个值加上它们的值。
如何在 Azure 数据资源管理器中使用 Kusto 实现此目的?
解决方案
像下面这样的东西对你有用吗?
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
推荐阅读
- c - 链表实现中的虚拟节点
- python - 在字典中追加元组
- reactjs - 如何使用带有 typescript 的 useRef 将函数分配给 ref?
- java - 如何检测带有 SnapHelper 的 RecyclerView 何时滚动到下一项?
- javafx-8 - Shape.contains 提供不一致的结果
- javascript - 如何从后面的 C# 代码调用 Javascript?
- python - 在 pycharm 中创建新的 django 项目:“未提供远程路径”
- java - 如何在与 Firebase 实时连接的 Android Studio 中编写单元测试
- java - 如何修复“表达式的非法开始缺少 javadoc”错误
- python - 如何在某些条件下使用 numpy 查找结果相同的元素和索引?