IoTDB查询结果自动补值

需求

在进行查询操作时,会出现在某些时刻测点为空值的情况,在显示的时候不太美观,也不好做数据分析。这时候就需要对缺失值进行自动填补。

自动填充方法

Previous方法
当查询时间戳的值为空值时,用查询时间戳的前一个时间戳的值进行补值。
此方法支持所有数据类型。

//时间戳为6的温度测点(float),如果为空,则参考当前时间前一分钟内最近的一条记录,如果一分钟内没有记录,显示为空
select temperature from root.test.wf01.wt01 where time =6 fill(float[previous,1m])
//同上,hardware参考前86400000内最近一条有值的数据
select temperature,hardware from root.test.wf01.wt01 where time =86400000 fill(float[previous,1m],text[previous])

Linear方法

当查询时间戳的值为空值时,用查询时间戳的前一个时间戳的值和后一个时间戳的值进行线性补值。

不支持 Boolean、text

DEMO

在这里插入图片描述

在版本0.10之后支持自动填充和分组结合

//1-50毫秒内每个5毫秒分组,如果这个组内没值,则参考前面一个组,如果前面组还是没有值,再参考前面的
//如果组内有值,则以一个组最后时间序列作为整个组的值
SELECT last_value(temperature) FROM root.test.wf01.wt01 GROUP BY([1, 50), 5ms) FILL (float[PREVIOUS])

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值