Grafana + InfluxDB Flux - 查询显示多 select 变量输入

Grafana + InfluxDB Flux - query for displaying multi-select variable inputs

我们搭建了Grafana云+InfluxDB 2.0(Flux语言)云实例。作为其中的一部分,我们创建了一个带有“设备 ID”的自定义变量列表,称为 devices.

在面板中,我们希望显示参数数据,用户可以在其中 select devices 列表中的一个或多个设备 ID 将它们显示在面板中。这适用于单个设备 ID selection,但不适用于多个设备。

应如何修改查询以根据 Grafana 下拉列表中的多个 select 条目显示来自可变数量设备的数据?

from(bucket: "test-bucket-new")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "${devices}")
  |> filter(fn: (r) => r["_field"] == "Speed")
  |> aggregateWindow(every: v.windowPeriod, fn: mean)
  |> yield(name: "mean")

似乎下面解决了它:

from(bucket: "test-bucket-new")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => contains(value: r["_measurement"], set: ${devices:json}))
  |> filter(fn: (r) => r["_field"] == "Speed")
  |> aggregateWindow(every: v.windowPeriod, fn: mean)
  |> yield(name: "mean")