redash
使用两个大括号表达参数,如 {{ start }}
可插入到sql代码的任何位置,原理应该就是替换,所以该加引号的加引号
支持的数据类型有 Text, Number, Date, Date and Time, Date and Time (with Seconds), and Dropdown List.
日期与日期范围
支持三个类型,Date, Date and Time, Date and Time (with Seconds)
日期范围的特殊参数,start,end,如下示例
SELECT a, b c
FROM table1
WHERE
relevant_date >= '{{ myDate.start }}'
AND table1.relevant_date <= '{{ myDate.end }}'
下拉框
通过sql语句来获得下拉值,如下所示
SELECT user_uuid as 'value', username as 'name'
FROM users
注意,结果一定要有value及name,其中name用于显示,value用于传参
支持多选
在下拉框的配置中勾选“ Allow multiple values”
当多选后,参数值会以 值1,值2,值3
如果选择包括的引号,则参数值会显示为 '值1','值2','值3'
通常会用在in中,如下所示
SELECT ...
FROM ...
WHERE field IN ( {{ Multi Select Parameter }} )
在嵌入或者共享仪表盘中使用
假如有如下查询语句
SELECT * FROM table WHERE field = {{param}}
那么想替换参数,如下
https://app.redash.io/<slug>/queries/1234?p_param=100
如上所示,约定使用前缀p_表示给参数赋值,如上的param,那么就需要使用p_param
另:为了安全考虑,参数不能是文本,否则可能发生sql注入攻击
关联仪表盘的参数
当将查询添加到仪表盘时可指定关联的参数