Grafana MySQL多值Site变量选中后Topic变量未联动问题求助
问题根因
- 你编写的Topic变量查询存在逻辑错误:
select ${Site} from problems_solved子查询的用法不符合需求,${Site}是Grafana变量占位符,不是表字段,无法返回你需要的筛选条件。 - 多值变量在MySQL查询的
IN子句中使用时,需要指定Grafana专属的SQL格式化规则,否则插值后的语法不符合MySQL要求,会执行失败。
解决方案
直接使用如下语句作为Topic变量的查询语句即可:
SELECT DISTINCT topic FROM problems_solved WHERE Site IN (${Site:sqlstring})
语法说明
${Site:sqlstring}是Grafana提供的变量格式化语法,会自动将你选中的多个Site值转换为'站点1','站点2','站点3'的标准MySQLIN参数格式,避免语法错误- 加入
DISTINCT关键字可以过滤重复的topic值,优化下拉选项的展示效果 - 无需额外嵌套子查询,直接将格式化后的变量放到
IN子句的括号中即可实现联动筛选
如果配置后仍未生效,可先检查Site变量的查询是否能正常返回预期的站点列表,且多值开关已正常开启。
内容的提问来源于stack exchange,提问作者Pratik das baghel
相关产品推荐
相关产品推荐

