Grafana组系列
Grafana group series
我有带有三个变量的 postgres table:日期时间、robot_id 和 energy_percent。现在在图表上我有 energy_percent
和 robot_id
。如何根据 robot_id
对 table 中的记录进行分组?目前在这个 table 我有 3 个不同 robot_id
的记录,所以我想在这个图表上看到 3 条线。
编辑:
我有一个 table 有很多记录,在 robot_id
列我有 ID。我需要一个折线图,每个折线图都是唯一的 robot_id
。如果 table 包含 x
uniquerobot_id
我希望图表上有 x
行。这是 excel 处的示例:左边是错误的图表,右边是正确的图表:
还有一件事:在 excel 上没有数据我有 0,但我不需要点。
Edit2:我可以用下面的很多系列来做到这一点,但它应该是通用的(idk 有多少独特的 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
我有 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
BOTTOM图表查询:
SELECT
$__timeGroupAlias(time_created, $__interval),
robot_id::varchar AS "metric",
AVG(energy_percent) AS "value"
FROM api_robotlog
WHERE
$__timeFilter(time_created)
GROUP BY 1,2
ORDER BY 1
适当分组即可。我会更多地切换到文本编辑并手动编写 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
我有带有三个变量的 postgres table:日期时间、robot_id 和 energy_percent。现在在图表上我有 energy_percent
和 robot_id
。如何根据 robot_id
对 table 中的记录进行分组?目前在这个 table 我有 3 个不同 robot_id
的记录,所以我想在这个图表上看到 3 条线。
编辑:
我有一个 table 有很多记录,在 robot_id
列我有 ID。我需要一个折线图,每个折线图都是唯一的 robot_id
。如果 table 包含 x
uniquerobot_id
我希望图表上有 x
行。这是 excel 处的示例:左边是错误的图表,右边是正确的图表:
Edit2:我可以用下面的很多系列来做到这一点,但它应该是通用的(idk 有多少独特的 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
我有 2 个地块:energy_percent(time)
和 robot_id(time)
。没有很多情节energy_percent(time, robot_id)
。
编辑 5:
使用@Jan Garaj 解决方案可以正常工作。两个图表,有两个相似的查询:
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
BOTTOM图表查询:
SELECT
$__timeGroupAlias(time_created, $__interval),
robot_id::varchar AS "metric",
AVG(energy_percent) AS "value"
FROM api_robotlog
WHERE
$__timeFilter(time_created)
GROUP BY 1,2
ORDER BY 1
适当分组即可。我会更多地切换到文本编辑并手动编写 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