【问题标题】:Is there a way to programmatically change the function performed in a query?有没有办法以编程方式更改查询中执行的功能?
【发布时间】:2021-02-19 00:30:09
【问题描述】:

我正在使用带有 InfluxDB 的 Grafana 作为数据库。

假设我有以下查询

SELECT MIN("field_1"), MAX("field_1") FROM "measurement" WHERE $timeFilter 

但我希望用户能够在同一面板中查看平均值

SELECT MEAN("field_1") FROM "measurement" WHERE $timeFilter 

有没有办法做到这一点?理想情况下,该解决方案对field_1 是不可知的,因为我想在具有不同字段的多个面板中使用它。

【问题讨论】:

    标签: grafana influxdb


    【解决方案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 自动发现。

    【讨论】:

      猜你喜欢
      • 2020-04-23
      • 1970-01-01
      • 2019-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2021-12-13
      相关资源
      最近更新 更多