【问题标题】:How to set default filter value through JSON meta data in superset如何通过超集中的 JSON 元数据设置默认过滤器值
【发布时间】:2021-02-17 17:57:07
【问题描述】:

我是 Superset 的新手。我有一个仪表板,其中有一个名为“District”的过滤器,其中的值列表如“1、2、3 等”。如何选择默认过滤器,意味着当页面加载时,过滤器说“2 或 3”通过 JSON 元数据自动选择? 我看到了 json 元数据结构和 default_filter 也在那里。但我不知道该输入什么,以便自动选择默认过滤器。

下面我还附上了我的仪表板和 json 元数据的图像..
提前谢谢!!!

json 元数据

{
  "timed_refresh_immune_slices": [
    
  ],
  "expanded_slices": {
    
  },
  "refresh_frequency": 0,
  "default_filters": "{\"180\": {\"__time_range\": \"No filter\"}}",
  "filter_scopes": {
    "180": {
      "district_id": {
        "scope": [
          "ROOT_ID"
        ],
        "immune": [
          
        ]
      },
      "__time_range": {
        "scope": [
          "ROOT_ID"
        ],
        "immune": [
          
        ]
      }
    }
  }
}

【问题讨论】:

    标签: apache-superset superset


    【解决方案1】:

    添加默认过滤器的更简单方法是选择过滤器 - 应用过滤器和另存为 - 覆盖仪表板。

    覆盖仪表板后,Json 将自动更新。手动修改 JSON 更能减少错误。

    【讨论】:

    • 是的,我试过了,它在某种程度上是正确的。但我的问题是在我的项目中有多个用户。根据用户类别,我想据此设置过滤器。你知道有什么解决办法吗?
    • 例如用户 1 被允许根据过滤选项 1 查看数据。所以我需要通过 url 发送一些参数。那么如何通过 url 数据更改 JSON 元数据呢?
    【解决方案2】:

    您可以在 Superset 上通过在超集仪表板的 URL 中传递以下参数来实现此目的

    http://dashboard_url?preselect_filters={{"slice_id"}:{{"column_to_be_filtered"}: {"value_to_be_filtered"}}}

    通过在图表的编辑模式下查看其元数据来确定 slice_id(即需要过滤的即过滤框)。要过滤的列是与数据集相似的实际列,必须根据需要传递URL中的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-05
      • 2018-07-18
      • 1970-01-01
      • 2017-11-19
      • 2017-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多