有没有办法以编程方式更改查询中执行的功能?
Is there a way to programmatically change the function performed in a query?
我正在使用带有 InfluxDB 的 Grafana 作为数据库。
假设我有以下查询
SELECT MIN("field_1"), MAX("field_1") FROM "measurement" WHERE $timeFilter
但我希望用户能够在同一面板中查看 MEAN
SELECT MEAN("field_1") FROM "measurement" WHERE $timeFilter
有没有办法做到这一点?理想情况下,该解决方案与 field_1
无关,因为我想在具有不同领域的多个面板中使用它。
创建 Grafana 仪表板变量,例如function
与匹配 InfluxDB 函数的值:MIN,MAX,MEAN,COUNT,LAST,...
然后在 Grafana InfluxDB 查询中使用该变量:
SELECT ${function:raw}("field_1") FROM "measurement" WHERE $timeFilter
因此 Grafana 生成正确的 InfluxDB 查询语法。
甚至字段也可以是仪表板变量,可以使用 InfluxDB 查询自动发现 SHOW FIELD KEYS
。
我正在使用带有 InfluxDB 的 Grafana 作为数据库。
假设我有以下查询
SELECT MIN("field_1"), MAX("field_1") FROM "measurement" WHERE $timeFilter
但我希望用户能够在同一面板中查看 MEAN
SELECT MEAN("field_1") FROM "measurement" WHERE $timeFilter
有没有办法做到这一点?理想情况下,该解决方案与 field_1
无关,因为我想在具有不同领域的多个面板中使用它。
创建 Grafana 仪表板变量,例如function
与匹配 InfluxDB 函数的值:MIN,MAX,MEAN,COUNT,LAST,...
然后在 Grafana InfluxDB 查询中使用该变量:
SELECT ${function:raw}("field_1") FROM "measurement" WHERE $timeFilter
因此 Grafana 生成正确的 InfluxDB 查询语法。
甚至字段也可以是仪表板变量,可以使用 InfluxDB 查询自动发现 SHOW FIELD KEYS
。