【问题标题】:Link filters to queries on Superset将过滤器链接到 Superset 上的查询
【发布时间】:2019-03-24 08:48:05
【问题描述】:

我在 Apache Superset 中基于已保存的查询创建了一个可视化。如何根据过滤器框中过滤的值更新查询?

我已经尝试过 Jinja,并设法通过模板参数将硬编码变量传递给我的查询。现在我只需要将 Jinja 连接到 Filter Box 以便通过过滤器而不是硬编码获得值。

【问题讨论】:

    标签: jinja2 data-visualization superset apache-superset


    【解决方案1】:

    过滤器中使用的列名在另一个表中也应该相同。你试过了吗?如果列名不同,则使用更改的列名创建物化视图或重命名表本身中的列

    【讨论】:

      【解决方案2】:

      我发现使用filter_values 函数可以做到这一点,该函数通过以下文件添加到 Jinja 上下文中:https://github.com/apache/superset/blob/master/superset/jinja_context.py

      该文件中的示例展示了如何构建一个从过滤器框中提取值的模板化查询:

      SELECT action, count(*) as times
      FROM logs
      WHERE action in ( {{ "'" + "','".join(filter_values('action_type')) + "'" }} )
      GROUP BY action
      

      因此,如果您有一个过滤框来选择action_type 的值,那么这些值将由filter_values 返回。

      【讨论】:

        猜你喜欢
        • 2021-08-30
        • 1970-01-01
        • 2011-05-22
        • 2016-03-20
        • 2022-08-17
        • 2013-03-08
        • 1970-01-01
        • 2023-03-18
        • 2021-07-09
        相关资源
        最近更新 更多