Grafana组系列

sos*_*nus 0 postgresql grafana

我有包含三个变量的 postgres 表:datetime、robot_id 和 energy_percent。现在在图表中我有energy_percentrobot_id。如何按 对该表中的记录进行分组robot_id?目前在这个表中我有 3 个不同的记录robot_id,所以我想在这个图表上看到 3 条线。 在此输入图像描述

编辑:我有一张包含很多记录的表,在列中robot_id我有 id。我需要每个唯一的一张折线图robot_id。如果表包含x唯一的robot_id我期望x图表上的线条。这是Excel示例:左边是错误的图表,右边是正确的图表: 在此输入图像描述 而且一件事:在 Excel 上,没有数据的地方我有 0,但我不需要点。

Edit2:我可以用下面的很多系列来做,但它应该是通用的(我不知道有多少唯一的robot_id)并且用一个查询(A)而不是很多查询(A,B,C等)来完成

在此输入图像描述

编辑3:当我应用代码时:

SELECT
  $__timeGroupAlias(time_created, $__interval),
  robot_id AS "metric",
  AVG(energy_percent) AS "value"
FROM api_robotlog
WHERE
  $__timeFilter(time_created)
GROUP BY 1,2
ORDER BY 1
Run Code Online (Sandbox Code Playgroud)

我有 2 个地块:energy_percent(time)robot_id(time)。没有很多情节energy_percent(time, robot_id)在此输入图像描述

编辑 5:使用@Jan Garaj 解决方案可以正常工作。两个图表,有两个相似的查询: 在此输入图像描述 TOP图表查询:

SELECT
  $__timeGroupAlias(time_created, $__interval),
  robot_id AS "metric",
  AVG(energy_percent) AS "value"
FROM api_robotlog
WHERE
  $__timeFilter(time_created)
GROUP BY 1,2
ORDER BY 1
Run Code Online (Sandbox Code Playgroud)

底图查询:

SELECT
  $__timeGroupAlias(time_created, $__interval),
  robot_id AS "metric",
  AVG(energy_percent) AS "value"
FROM api_robotlog
WHERE
  $__timeFilter(time_created)
GROUP BY 1,2
ORDER BY 1
Run Code Online (Sandbox Code Playgroud)

Jan*_*raj 5

只需将其正确分组即可。我会更多地切换到文本编辑并手动编写 SQL。例如:

SELECT
  $__timeGroupAlias(time_created, $__interval),
  robot_id AS "metric",
  AVG(energy_percent) AS "value"
FROM api_robotlog
WHERE
  $__timeFilter(time_created)
GROUP BY 1,2
ORDER BY 1
Run Code Online (Sandbox Code Playgroud)