Grafana (V7) 在表名中添加变量

bou*_*sle 6 grafana grafana-templating grafana-variable

我需要能够在表名称中使用变量 - 我基本上具有用于不同类型数据的同一组表,因此我希望只有一个仪表板并在所有类型之间进行交换,而不是总是必须设置多个相同的表仪表板。

我的查询是这样的:

select * from table_$variable_name;

我的可能变量列表是猫、狗、鸟之类的东西

我似乎可以做到这一点,如果我只输入上面所示的变量,我会收到以下错误

Error 1146: Table 'table_$variable_name' doesn't exist

如果我将其括在大括号中,则会收到此错误。

Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{bird}' at line 1

(即这次所选变量实际上是可见的)

我不确定问题是否在于表名称中包含下划线,我也尝试在变量周围添加下划线进行检查,但没有成功。

我尝试的另一件事是逐渐添加到表名称中,因此例如 select * from table_$variable; 仍然返回错误,但我可以看到表名称开始正确形成 Error 1146: Table 'table_bird_' doesn't exist

但是,一旦我添加另一个下划线,该变量就不会被拾取 abymore ```错误 1146:表 'table_$variable_' 不存在``

我确信我在查询语法中缺少了一些愚蠢的东西 - 有人有任何建议吗?

使用此https://grafana.com/docs/grafana/latest/variables/templates-and-variables/作为参考

guo*_*guo 2

正如@arturomp建议的那样,使用 ${var:raw} 至少在我的例子中,这是有效的解决方案。