我想在 Apache Superset 中使用过滤器。但是,大多数示例都是加载结果,然后应用过滤器。
我想把它作为一个变量放在查询的中间。 我发现的只是最后的 WHERE 条件。
前)
SELECT a AS a , b AS b , c AS c , d AS d
(
SELECT a,b,c,d
FROM table
)AS `expr_qry`
WHERE a = '1' -- filter
如果我做了一个过滤器,我会把它带到哪里。
但是我想要的是如下。
SELECT a,b,c,@var1 as d
FROM table
WHERE a = '@var2'
像上面的变量一样把它放进去。 有办法做到这一点吗?
Apache Superset 支持 SQL 模板来实现此目的。
例如,您可以使用 {{ filter_values() }} 以列表形式检索特定过滤器的值
SELECT *
FROM your_table
WHERE
account_id in ({{ "'" + "','".join(filter_values('account_id')) + "'" }})
阅读文档以获取更多详细信息https://superset.apache.org/docs/configuration/sql-templated/