【发布时间】:2021-03-31 14:48:09
【问题描述】:
背景
我们在 Azure 数据资源管理器中有一个具有以下格式的数据集。
| sensorid | timestamp | value |
|---|---|---|
| valve1 | 24-03-2021 | 123 |
| valve1 | 23-03-2021 | 234 |
| cylinderspeed | 23-03-2021 | 1.2 |
| valvestatus | 23-03-2021 | open |
| valvestatus | 24-03-2021 | closed |
| cylinderspeed | 25-03-2021 | 2 |
不同的传感器有不同的报告间隔,有的每秒报告一次,有的每天报告几次。
通过使用此查询
datatable (sourcetimestamp: datetime, sensorid:string, value:dynamic)
[datetime(2021-03-23), "valve1", 123,
datetime(2021-03-24), "valve1", 234,
datetime(2021-03-23), "cylinderspeed", 1.2,
datetime(2021-03-23), "valvestatus", "open",
datetime(2021-03-24), "valvestatus", "closed",
datetime(2021-03-25), "cylinderspeed", 2]
| summarize average=any(value) by bin(sourcetimestamp, 1s), sensorid
| evaluate pivot(sensorid, any(average))
我可以生成这张表
| timestamp | valve1 | cylinderspeed | valvestatus |
|---|---|---|---|
| 23-03-2021 | 123 | 1,2 | open |
| 24-03-2021 | 234 | closed | |
| 25-03-2021 | 2 |
问题
如何继续执行上述查询,以便使用该列中的前一个值填充空单元格?
【问题讨论】:
-
理想情况下,示例将使用 datatable() 运算符,这将使通过示例提供答案变得更加简单。
-
@Avnera 好主意。我用 datatable() 添加了源数据