如何在Grafana中将时间序列数据展示为柱状图并解决字符串字段报错
问题原因
Grafana 柱状图面板默认要求X轴为字符串类型的分类字段,你当前查询返回的DAY字段是时间戳类型,不属于分类字段范畴,因此触发报错。
直方图面板的设计逻辑是对数值字段做分布统计,会自动合并X轴的时间戳数值做分桶,所以会丢失原有的日期标签,不适合你按天展示计数的需求。
解决方法
方案1:修改查询语句转换字段类型
在查询时直接将按天聚合的时间字段转换为格式化的字符串类型,不同数据源对应的转换函数略有差异,示例如下:
-- 以PostgreSQL/TimescaleDB为例,其他数据源替换为对应日期转字符串函数即可 SELECT COUNT(footage_type) as _count_, to_char(BIN(time,24h), 'YYYY-MM-DD') AS DAY FROM "footage"."footage" WHERE footage_type='VIDEO' GROUP BY BIN(time,24h) ORDER BY DAY
方案2:Grafana面板内转换字段类型
不需要修改查询,直接在柱状图面板的Transform tab页选择「Convert field type」转换规则,将DAY字段的类型从「Time」转换为「String」即可生效。
内容的提问来源于stack exchange,提问作者ninsonTan
相关产品推荐
相关产品推荐

