在Superset中,我只想使用单个日期选择,而是将其用于日期范围,例如7天前。 例如: 选择日期:2020-04-18至2020-04-18
预计日期:2020-04-11至2020-04-18 原因是大多数仪表板需要单个日期,但某些必需的时间序列显示最近7天的结果。
这是我在自定义查询中准备的代码。
SELECT distinct(dt) FROM mytable
WHERE
dt >= date_add('day', -7, from_iso8601_timestamp('{{ to_dttm.isoformat() }}'))
AND
dt <= date_add('day', 0, from_iso8601_timestamp('{{ to_dttm.isoformat() }}'))
这是json的结果。它确实在WHERE处添加了额外的查询,它运行通过但只显示了1个日期。
SELECT distinct(dt) FROM mytable\n
WHERE dt >= date_add('day', -7, from_iso8601_timestamp('2020-04-18T00:00:00'))\n
AND dt <= date_add('day', 0, from_iso8601_timestamp('2020-04-18T00:00:00'))) AS \"expr_qry\"\n
WHERE \"dt\" >= from_iso8601_timestamp('2020-04-18T00:00:00')\n
AND \"dt\" <= from_iso8601_timestamp('2020-04-18T00:00:00')\nLIMIT 1000"
请告知。 非常感谢
答案 0 :(得分:0)
您可以使用Jinja过滤器编写自定义查询。
您可以使用filter_values()
在过滤器框中选择选定的值
功能。
{% set date_ref = filter_values('my_date')[0] %}
然后,您可以使用经典的MySql函数编写自定义查询。在查询中,请使用{{}}调用忍者变量,例如
AND date >= DATE_ADD({{date_ref}}, INTERVAL -7 DAYS)