【发布时间】:2022-11-12 21:26:24
【问题描述】:
我有一个包含遥测数据的 kusto 表,如下所示:
| Timestamp | Key | Value |
|---|---|---|
| 2022-11-10 10:00:01 | Position | 87.3 |
| 2022-11-10 10:00:13 | Temperature | 10.2 |
| 2022-11-10 10:00:55 | Temperature | 10.4 |
| 2022-11-10 10:01:25 | Position | 81.3 |
| 2022-11-10 10:01:42 | Temperature | 12.2 |
| 2022-11-10 10:02:13 | Temperature | 12.8 |
| 2022-11-10 10:02:44 | Position | 74.3 |
| 2022-11-10 10:03:01 | Temperature | 18.6 |
| 2022-11-10 10:03:19 | Position | 87.3 |
| 2022-11-10 10:03:38 | Temperature | 10.6 |
| 2022-11-10 10:04:00 | Temperature | 10.7 |
| 2022-11-10 10:04:00 | Temperature | 10.1 |
| 2022-11-10 10:04:25 | Position | 80.3 |
| 2022-11-10 10:04:59 | Temperature | 12.6 |
我想进行一些分析,计算某个区域的平均温度;在5分钟的桶中。 因此,我想对发送的最新位置的所有温度进行平均,直到位置更新:
我想要如下的东西
| Timestamp | Area | Temperature |
|---|---|---|
| 2022-11-10 10:00:00 | 1 | 10.4 |
| 2022-11-10 10:00:00 | 2 | 12,53 |
| 2022-11-10 10:00:00 | 3 | 18.6 |
我尝试使用基于键值的区域和温度列来扩展表:
| Timestamp | Key | Value | Area | Temperature |
|---|---|---|---|---|
| 2022-11-10 10:00:01 | Position | 87.3 | 1 | |
| 2022-11-10 10:00:13 | Temperature | 10.2 | 10.2 | |
| 2022-11-10 10:00:55 | Temperature | 10.4 | 10.4 | |
| 2022-11-10 10:01:25 | Position | 81.3 | 2 | |
| 2022-11-10 10:01:42 | Temperature | 12.2 | 12.2 | |
| 2022-11-10 10:02:13 | Temperature | 12.8 | 12.8 | |
| 2022-11-10 10:02:44 | Position | 74.3 | 3 | |
| 2022-11-10 10:03:01 | Temperature | 18.6 | 18.6 | |
| 2022-11-10 10:03:19 | Position | 87.3 | 1 | |
| 2022-11-10 10:03:38 | Temperature | 10.6 | 10.6 | |
| 2022-11-10 10:04:00 | Temperature | 10.7 | 10.7 | |
| 2022-11-10 10:04:00 | Temperature | 10.1 | 10.1 | |
| 2022-11-10 10:04:25 | Position | 80.3 | 2 | |
| 2022-11-10 10:04:59 | Temperature | 12.6 | 12.6 |
然后我尝试用找到的前一个非空值和一个聚合来填充空值,但是 prev() 函数不允许找到以前的非空值。
目前我对如何实现我的目标没有任何想法。
【问题讨论】:
-
您的示例数据中没有“区域”。它是从哪里冒出来的?要求的结果是什么?转型逻辑是什么?
标签: azure-data-explorer kql telemetry kusto-explorer