Grafana+XDB通量-用于显示多选变量输入的查询

Grafana+XDB通量-用于显示多选变量输入的查询,grafana,influxdb,grafana-templating,grafana-variable,Grafana,Influxdb,Grafana Templating,Grafana Variable,我们已经建立了一个Grafana cloud+XDB2.0 Flux语言云实例。作为这项工作的一部分,我们创建了一个带有设备ID的自定义变量列表,称为devices 在面板中,我们希望显示参数数据,用户可以从设备列表中选择一个或多个设备ID,以便在面板中显示它们。这适用于单个设备ID选择,但不适用于多个设备 应如何修改查询以根据Grafana下拉列表中的多选条目显示来自不同数量设备的数据 from(bucket: "test-bucket-new") |> rang

我们已经建立了一个Grafana cloud+XDB2.0 Flux语言云实例。作为这项工作的一部分,我们创建了一个带有设备ID的自定义变量列表,称为devices

在面板中,我们希望显示参数数据,用户可以从设备列表中选择一个或多个设备ID,以便在面板中显示它们。这适用于单个设备ID选择,但不适用于多个设备

应如何修改查询以根据Grafana下拉列表中的多选条目显示来自不同数量设备的数据

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")