破折号回调函数中未固定的过滤器集

Unfixed set of filters in dash callback function

我需要用 dash python 构建一个仪表板,每次使用仪表板时都会上传数据源(CSV 文件)。仪表板将用于各种 KPI,因此数据源不会有一组固定的列。例如,有一次它会包含一些销售额、位置和代理 ID,而另一次它会包含年龄组、性别和一些点击次数。我可以处理不断变化的 KPI,但问题在于相应地更改过滤器。我找不到根据现有字段获取它们的方法。似乎我只能在字符上应用预先固定的过滤器。有什么办法吗?

例如: 回调函数:

@app.callback(
    Output('number_of_sales', 'figure'),
    Input('location_filter', 'value'),
    Input('source_filter', 'value')
)

我需要它以某种方式根据数据源字段而不是固定过滤器进行更改。

谢谢!

您应该查看 pattern-matching callbacks 了解一下。它会让你动态添加组件,并在回调中使用它们。这样,您就可以读取 CSV 文件,然后从中构建您需要的过滤器。