文档文档

比较来自不同存储桶的值

此示例使用 NOAA 水样本数据

此示例比较来自最新数据点的值与另一个存储桶中存储的平均值。当使用平均值来计算阈值检查时,这非常有用。

以下查询

  • 使用 range() 来定义时间范围。
  • 获取 means 存储桶中的最后一个值,并使用 last() 将其与 noaa 存储桶中的最后一个值进行比较。
  • 使用 join() 合并结果
  • 使用 map() 计算差异
means = from(bucket: "weekly_means")
    |> range(start: 2019-09-01T00:00:00Z)
    |> last()
    |> keep(columns: ["_value", "location"])

latest = from(bucket: "noaa")
    |> range(start: 2019-09-01T00:00:00Z)
    |> filter(fn: (r) => r._measurement == "average_temperature")
    |> last()
    |> keep(columns: ["_value", "location"])

join(tables: {mean: means, reading: latest}, on: ["location"])
    |> map(fn: (r) => ({r with deviation: r._value_reading - r._value_mean}))

示例结果

location_value_mean_value_readingdeviation
coyote_creek79.82710622710623899.172893772893772
santa_monica80.20451339915374854.79548660084626

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在一样使用它,而无需对您的代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、只读副本、增强的安全性和数据压缩,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层级可供非商业家庭或业余爱好者使用。

有关更多信息,请查看