微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

InfluxDB 计算信号打开的时间

如何解决InfluxDB 计算信号打开的时间

我对 boolean 类型的值进行了一些测量,想计算信号在特定时间段内处于 true 状态的时间。

例如:

日期时间 状态
01.01.2021 01:00 真实
01.01.2021 04:00 真实
01.01.2021 05:30
02.01.2021 23:00 真实
03.01.2021 01:30
05.01.2021 06:00 真实

应该变成:

日期时间 持续时间(1h)
01.01.2021 4.5
02.01.2021 1
03.01.2021 1.5
04.01.2021 0
05.01.2021 18

我知道 influx 具有 ELAPSED 函数,该函数返回后续记录之间的时间,但这似乎并没有让我找到任何地方。我也用 flux 尝试过,但也遇到了障碍(这只是出于学术目的,我需要使用 InfluxQL)。

我找到了 this,但解决方案是使用 INTEGRAL(这要求您的值是 0 或 1 而不是布尔值,甚至有人没有得到正确的值)值)并切换到 Timescale DB。

令我震惊的是,Influx 仍然不支持这一点,这似乎是使用 influx 的数据类型的最常见用例。

如果有人提供我可能遗漏的任何信息或想法,我将不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。