Metabase needs a better way to bulk-manage query variables

One of the most frustrating parts of using Metabase for serious dashboards is managing SQL query variables manually.

A common case: you have a dashboard with several SQL questions, and they all use the same filters — for example company_name, bill_date, customer, category, etc.

Right now, every variable needs to be configured manually.

This becomes painful very quickly.

If I change or add something in a dashboard with 5–10 SQL questions, I often need to repeat the same configuration again and again. It is error-prone, slow, and frankly one of the least pleasant parts of working with Metabase.

What I would love to have is a way to bulk-edit or import variable settings, for example by pasting a JSON configuration that maps variables to tables, fields, widget settings, labels, and other parameters.

Something conceptually like:

{
  "company_name": {
    "type": "field_filter",
    "table": "bexio_marts.mart_invoices",
    "field": "company_name",
    "widget_type": "dropdown",
    "label": "Company Name",
    "multiple_values": true
  },
  "bill_date": {
    "type": "field_filter",
    "table": "bexio_marts.mart_invoices",
    "field": "bill_date",
    "widget_type": "date",
    "label": "Bill Date"
  }
}

I also opened a dedicated GitHub issue for this feature request:

1 Like

I threw a thumbs-up on that feature request. There was another feature request that suggested adding a way to save common filters and insert them to a question by selecting them from a menu.

You can also use snippets with filters to semi-automate defining filters.