grafana获取mysql数据源_grafana-如何为MySQL数据源创建SQL查询部分变量/宏

本文介绍了在Grafana仪表板中如何为MySQL数据源创建SQL查询部分变量/宏,以实现不同面板共享相同的WHERE条件。通过尝试将条件设置为独立的常量变量,但遇到内部变量未被解析的问题。文章探讨了存在的挑战以及寻找解决方法的可能性。
摘要由CSDN通过智能技术生成

我在grafana中有以下查询,它由mysql数据源支持。

SELECT

$__timeGroupAlias(ts,$__interval),

sum(total) AS "total"

FROM hp

WHERE

$__timeFilter(ts)

AND customer_type IN ($CustomerType) AND age IN ($age) AND gender IN ($gender)

GROUP BY 1

ORDER BY $__timeGroup(ts,$__interval)

仪表板中有多个singlestat/panel/graphs,它们使用不同的选择参数,但其中的where条件在所有参数中保持不变。

我希望将条件保持为单独的常量变量,以便在每个查询中只添加该变量。

我试图构建这样的查询。

SELECT

$__timeGroupAlias(ts,$__interval),

sum(total) AS "total"

FROM hp

$where_condition

GROUP BY 1

ORDER BY $__timeGroup(ts,$__interval)

并宣布

where_condition

作为

WHERE $__timeFilter(ts) AND customer_type IN ($CustomerType) AND age IN ($age) AND gender IN ($gender)

.

但是查询失败,因为内部变量($customertype、$age、$gender)没有被查询生成器解析,生成的查询如下所示。

SELECT

UNIX_TIMESTAMP(ts) DIV 900 * 900 AS "time",

sum(total) AS "total"

FROM hp

ts BETWEEN FROM_UNIXTIME(1548311714) AND FROM_UNIXTIME(1548398114)

AND customer_type IN ($CustomerType) AND age IN ($age) AND gender IN ($gender)

GROUP BY 1

ORDER BY UNIX_TIMESTAMP(ts) DIV 900 * 900

是否有方法解析包含在其他变量中的变量?或者有没有其他方法来外部化包含变量的查询部分?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值